- 可以将 一个array对象赋给另一个对象
- 对于下标值出现负数的情况下可以解释为在头指针的位置处向前移动对应的字节
- 可以使用vector.at(n_elem)来获取元素等价于vector[n_elem]使用at时将在运行期间 捕获非法索引,而程序默认将中断
- int main()
- {
- int x=2;-----------------------------------在外部定义一个变量
- {
- cout<<x<<endl;-------------这里是2
- int x=3;--------------------------在内部仍旧可以定义这个变量
- cout<<x<<endl;-------------新变量是可以隐藏这个旧变量的,所以这里是3
- }
- cout<<x<<endl;-----------------------------这里又将是2
- }
- 简而言之,逗号运算符和语句块都是将只能放一条语句的地方放多条语句
- int x=(3,7);
- cout<<x;--------------将输出7
- CLOCKS_PER_SEC每秒钟包含的系统时间单位数(将系统时间除以这个值可以得到秒数)
- 用for—each修改数组中是元素的方法:for(double &x:a) x=x*0.1;---------其中a是数组名
- 检测到EOF后,cin将两位(eofbit和failbit)都设置为1.可以通过成员函数eof()来查看eofbit是否被设置,如果检测到EOF,那么cin.eof将会返回true,如果eofbit或failbit被设置为1,则fail返回true
- 上技巧:许多程序员习惯上把variable == value反转成value==variable,这是因为假设在if语句中出现n==3时我们不小心写成n=3的话程序知识会傻傻的把3赋给n,但是如果反过来写的话3=n是肯定会报错的,但是对于3==n却是没有丝毫影响的,所以一定要写让程序易于报错的代码
- 在写语句的时候,一定不要写成(m<x<n)因为这种语句不会向我们的意愿那样真的判断x的值在m和n之间,而是这样的(m<x)判断真假得到0或者1后再看这个数是否小于n,所以用&&连接比较好
- 逻辑运算符的&&,||和!可以用and,or和not来替代
- 在头文件cctype中,
- isalpha(c)字母(大小写不限制)为真
- isdigit(c)数字为真
- isspace(c)标准空白(如换行符,空格和制表符,回车,水平和垂直制表符)为真
- ispunct(c)标点为真
- isalnum()字母或数字为真
- iscntrl()控制字符为真
- isgraph()除空格之外的打印字符为真
- islower()小写字母为真
- isprint()打印字符(包括空格)为真
- isupper()大写字母为真
- isxdigit()十六进制数字(0~9,a~f,A~F)为真
- tolower()若是大写字母则返回小写,否则返回参数本身
- toupper()若是小写字母则返回大写,否则返回参数本身