一、构造函数的执行规则
C++构造函数的调用顺序为:
- 如果类中包含静态成员变量,先执行静态成员变量的构造函数。
- 如果类是派生类,则先执行基类的构造函数。同样如果基类也是一个派生类,它也要先执行基类的构造函数。
- 执行成员变量中的构造函数,根据定义的顺序来,先执行类内初始化,再执行列表初始化。
- 执行本类的构造函数。
zlib: apt-get install zlib1g-dev curl: apt-get install curl libcurl3 libcurl4-openssl-dev NcursesL: apt-get install libncurses5-dev python 环境: apt-get ... 阅读更多
github 属于境外网站,大部分时候访问速度都不到 100K,克隆大仓库时相当耗时。比较好的解决办法就是通过科学上网来进行代理,加快访问速度。 注:本文不提供科学上网的方式,只提供 git 设置代理的方式。 设置方法
|
1 2 3 4 5 6 7 |
# 设置代理 git config --global http.proxy 'socks5://127.0.0.1:1080' git config --global https.proxy 'socks5://127.0.0.1:1080' # 取消代理 git config --global --unset http.proxy git config --global --unset https.proxy |
或者 [crayon- ... 阅读更多
一、基本用法 sort 命令用于对文件和标准输入进行排序,默认以行为单位,根据字典序排序。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$ cat test # 测试文件 tencent 100 1000 baidu 200 500 alibaba 150 800 huawei 130 700 baidu 200 500 $ sort test # 排序 alibaba 150 800 baidu 200 500 baidu 200 500 huawei 130 700 tencent 100 1000 |
二、选项 常用选项: -u: 删除重复行 -r:逆序输出,默认正序 -n: 把排序字段当作数字排序 -k: 根据每行的第几列排序 -t: 每一行 ... 阅读更多
一、命令说明 &: 将程序放到后台运行 Ctrl-z: 将程序放到后台运行并暂停 jobs: 查看后台进程 fg: 把后台的进程放到前台执行 bg: 把后台暂停的进程放到前台执行 写一个测试程序:
|
1 2 3 4 5 6 7 8 9 |
#include <iostream> using namespace std; int main(){ int a; cin >> a; // 阻塞程序 cout << a << endl; return 0; } |
[crayon-69495e ... 阅读更多
一、生成密钥 使用 ssh-keygen 命令生成密钥:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
> ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/ma/.ssh/id_rsa): Created directory '/home/ma/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/ma/.ssh/id_rsa. Your public key has been saved in /home/ma/.ssh/id_rsa.pub. The key fingerprint is: 5b:78:9f:ca:37:c0:80:f3:43:af:0c:64:78:5a:60:df ma@localhost.localdomain The key's randomart image is: +--[ RSA 2048]----+ | | | o | | . + o | | . O E. | | * +S+o | | . . o++. . | | o.o .o | | o. .o | | o. . | +-----------------+ |
生成的密钥默认位于~/.ssh/目录下,有两个文件,id_rsa 是私钥,id_rsa.pub 是公钥:
|
1 2 3 4 5 |
> cd ~/.ssh/ > ll total 8 -rw-------. 1 ma root 1675 Mar 16 19:02 id_rsa -rw-r--r--. 1 ma root 406 Mar 16 19:02 id_rsa.pub |
把公钥内容 ... 阅读更多
C++构造函数的调用顺序为:
全局变量默认是静态的,通过 extern 关键字声明后可以在多个文件中使用。
具体可参考:C++变量的声明、定义和 extern 关键字
header.h
|
1 2 3 4 5 |
#pragma once extern int gCnt; int f1(); int f2(); |
C++的分离编译机制允许程序拆分成多个文件来写,最常见的是在头文件中进行声明,源文件中进行定义,然后一起编译:
|
1 |
gcc a.h a.cpp -o a.o |
声明使得函数或者变量被程序所知,定义负责创建与声明相关联的实体。变量只能被定义一次,但能多次声明。
C++中,对于定义时没有指定初值的变量,将会被默认初始化,此时变量将被赋予 「默认值」,默认值是具体是什么将由变量的类型和位置决定。
对于内置类型来说,它的默认值由定义的位置决定,定义于函数体外的变量 (即全局变量) 被初始化为 0,定义于函数体内的局部变量将不被初始化,值是未定义的。
一、概述 nginx 作为当前最流行的开源 web 服务器之一,被无数公司或个人在使用。正因为开源,所以任何人都可以获取到它的源码,这其中就包含了世界各地的黑客。他们无时无刻不在想着如何找出 nginx 的漏洞,以至于在网上随便一搜都能找到无数 nginx 相关的漏洞: 默认情况下,http 响应的 Server 头部 ... 阅读更多