本人目前还是学生,能力有限,有不足或者错误的地方欢迎大家指正,谢谢大家!
1、强制类型转换
(int)((double)9/2)-1即double 9,把9转换成double,然后/2,然后-1,最后强制转换成int
2、关于switch循环
int k=1,c=0; switch(k) {default:c+=k; case 2:c++;break; }由于default后面没有break,所以执行完c+=k后,继续执行c++,然后break跳出。swich循环经常忽略break,直接执
行完c+=k就跳出了。
3、赋值优先级很低
k=a>b?(b>c?1:0):0;先执行(b>c?1:0),然后a>b?(b>c?1:0):0,最后赋值
4、char初始化
char a='/n' 用ASCII或转义符都可以赋值,但是char a='aa';是把字符串赋值给了char,错误
5、while循环
int n=2,k=0;while(k++&&n++>2);cot<<k;while循环里,k先使用后自增,k=0,不否和条件,所以&&后面不执行,但k自增成1了,所以k=1,n=2
6、 C++ 关键字
asm do if return try auto double inline short typedef bool dynamic_cast int signed typeid break else long sizeof typename case enum mutable static union catch explicit namespace static_cast unsigned char export new struct using class extern operator switch virtual const false private template void const_cast float protected this volatile
continue for public throw wchar_t default friend register true while delete goto reinterpret_cast
7、string all_nines(10, '9'); // all_nines= "9999999999"
8、枚举enum
enum Forms {shape = 1, sphere, cylinder=5, polygon};默认后面比前面的大1,即shape = 1, sphere=2, cylinder=5, polygon=6。
9、类成员
当定义数据成员时,只能指定该数据成员的名字和类型,不能初始化。默认情况下,struct 的成员为 public,而 class 的成员为 private。类通常被被放在头文件中使用。
设计头文件时,记住定义和声明的区别是很重要的。定义只可以出现一次,而声明则可以出现多次。
今天就到这里,有不足的地方还请指正,谢谢大家!