C++ primer学习笔记 1至6章

来源:互联网 发布:有个淘宝的软件是什么 编辑:程序博客网 时间:2024/04/27 12:04

前六章:

1.while 用于循环条件不易知; for用于循环次数已知。

2.文件结束符:windows系统为 两次ctrl+z; unix 为 ctrl+d。

3.buffer默认情况:cin会刷新cout;程序正常结束时,cout也被刷新。

4.wchar_t 为 宽字符型。

5.int、short 和 long 都默认为带符号型。

6.C++中把负数赋给unsigned 是合法的,结果是该负数对该类型取值个数求模后的值。ex.unsigned char = -1,其结果是255,因为255是-1对256求模后的结果。

7.在一行的末尾加 \ 可将此行和下一行当作同一行处理。

8.直接初始化 效率更高。

9.const 在定义时必须初始化。

10.引用必须用与该引用同类型的对象初始化。

11.class隐式指定为private ;struct 为public。

12.头文件不应有定义,例外:类、值在编译时就已知的const对象和inline函数。如果const变量不是用常量表达式初始化,那就不应该在头文件中定义。

13.预处理:#ifndef #endif

14.string的size操作:string::size_type

15.

16.vector<int>::size_type

17.C++程序员优先选用!=而不是<来编写循环条件。

18.迭代器:vector<int>::iterator iter=ivec.begin();

19.

20.  bitset<32> bitvec; size_t  bits_set=bitvec.count;

21. 数组下标的类型是size_t

22.指向const对象的指针也必须具有const特性;允许把非const对象的地址赋给指向const对象的指针,但系统会把它指的所有对象都视为const。

23.const int *pic:pic可修改,但指向的均为const;int *const cpi:cpi为const,但指向的可改。

24.

25.string到char的转换:char *str = str2.c_str()。

26.后自增操作优先级高于解引用操作。

27.显示转换:static_cast、dynamic_cast、const_cast、reinterpret_cast。

28.

29.异常类型只定义了一个名为what的操作,返回 const char* 类型的值。

30.预处理在调试时有用的常量:

      _ _FILE_ _文件名;_ _LINE_ _当前行号;_ _TIME_ _文件被编译的时间;_ _DATE_ _文件被编译的日期 

31.头文件

      1).ptrdiff_t (signed)类型  在cstddef头文件中 :两个指针减法
      2).size_t  (unsigned)类型  在cstddef头文件中
      3).NULL                    在cstdlib头文件中
      4).terminate标准库函数     在exception头文件中
      5).exception exception
      6).                        在stdexcept头文件中
           runtime_error(string);rang_error;overflow_error;underflow_error;logic_error;domain_error;invalid_argument;length_error;out_of_range
      7).bad_alloc               在new头文件中
      8).bad_cast                在type_info头文件中
      9).assert宏                在cassert头文件中



0 0
原创粉丝点击