c++primer 学习笔记
来源:互联网 发布:时光倒流软件 编辑:程序博客网 时间:2024/04/28 16:17
1、查看程序的返回值
echo $?
echo %ERRORLEVEL%
2、编译
g++ -o prog1 -std=c++0x -Wall prog1.cc
cl /EHsc /W4 prog1.cpp
3、内置 数据类型
bool
char
wchar_t
char16_t char32_t 用于Unicode
short <= int <=long
long long 新规范引入
float
double
long double
4、类型转换
unsigned char c = -1 c = -1 %256
signed char c = 256 c 是未定义的
下面是一个死循环
for (unsigned u = 10; u>=0; --u)
std::cout << u << std::endl;;
5、变量初始化
int units_sold = 0;
int units_sold(0);
int units_sold = {0};
int units_sold{0} 新规范引入
int a{3.14} , b = {3.14} // error 不允许窄化
int a(3.14), b = 3.14 // ok
6、 默认值
不显示初始化时,全局内部变量、局部静态变量有默认值,局部变量未定义
类变量总是会调用相应的构造函数,否则编译不过去
7、引用
引用相当于指向一个变量的别名,不是一个具体的对象,没有地址,必须和所指向的类型一致,除了以下两种情况
a )const 引用可以指向任何可以转化为引用类型的变量、常量值,表达式
b )一个基类型的引用可以指向它的派生类
8、指针
和引用不一样的是,指针是一个实体,有地址,可以进行一个赋值等运算,它也必须和指向的类型一致,除了以下两种
a ) 常量指针可以指向非常量类型
b ) 基类指针可以指向派生类对象
空指针
int *ptr = nullptr 新规范引入
int *ptr = 0;
int *0tr = NULL <cstdlib>
int *p;
int *&rp = p; 从变量开始,从右向左读,首先它是一个引用,然后是一个指针, 它是一个指向int形指针的引用
9、常量
一般常量必须在定义时初始化,具有文件做用域,如果要在每个文件中都保用一个常量,可以在每个文件中定义,不会冲突,但这就会有多年常量
如果要常量只有一个实例,则需要用extern改变常量的作用域,在一个头文件中声明, 在一个cc文件中定义,PS:定义和声明都必须使用extern
top-level const 限定变量自身
low-level const 限定变量指向的内容
a )常量表达式
1、 字面值是一个常量表达式;2、一个用常量表达式初始化的常量是一个常量表达式
constexpr 新规范引入,说明一个变量是一个常量表达式,编译器保证此变量必须用常量表达式初始化
constexpr int mf = 20;
constexpr int limit = mf;
constexpr int sz = size(); // size必须是一个常量表达式函数(用constexpr限定)
PS:
initialization and assignment are different operations in C++
- C++PRIMER学习笔记
- c++primer学习笔记
- c++primer学习笔记
- C++primer学习笔记
- c++primer 学习笔记
- C++Primer 学习笔记
- c++primer学习笔记
- C++Primer学习笔记
- C++PRIMER 学习笔记
- C++Primer学习笔记
- C++Primer学习笔记
- C++Primer学习笔记
- c++primer学习笔记
- C++Primer Plus学习笔记
- linux & C++Primer 学习笔记
- c ++Primer学习笔记之一
- 学习《c++primer》笔记一
- 学习《c++primer》笔记二
- PXE+DHCP+Apache+Kickstart自动安装CentOS
- Jquery的右键菜单插件ContextMenu
- Java中的transient,volatile和strictfp关键字
- Python,Crusher,XAMPP,CGI
- 用jquery的ajax时遇到的中文乱码
- c++primer 学习笔记
- 绘图基础--画弧,扇形,弓形
- 如何卸载Ubuntu中多余内核
- Code Jam 2010 Round 1A Problem B
- 智能指针容器及STL容器
- Linux下编译安装mysql5.5
- 金字塔Lucas-Kanade稀疏光流
- android游戏手柄问题
- 【WebRTC】V4L2应用程序框架