C++学习笔记(一)

来源:互联网 发布:中科大软件学院多少钱 编辑:程序博客网 时间:2024/05/02 03:01
 比较:
struct Entry ...;

vector
<Entry> book(1000);    // 1000个元素的向量
vector<Entry> books[1000];  // 1000个空向量的数组

合法的浮点数:

.23   1.   1.23e-10
而1.
23 e-10是非法的

典型情况下:
sizeof(char)=1
sizeof(int)=4
但并不能保证在所有计算机上都是如此。唯一可以确保对是sizeof(char)=1,sizeof(N)=sizeof(signed N)=sizeof(unsigned N)

默认情况下,枚举值从0开始递增。如果某个枚举中所有枚举符均非负,该枚举的表示范围为[0:2k-1],否则,为[-2k:2k-1]

enum flag ...{ x=1, y=2, z=4, e=8 };     // 范围0:15
flag f1 = 5;            // 错误,5不是flag型
flag f2 = flag(5);    // 可以,将5转换为flag型,且在flag范围之内
flag f2 = flag(99);  // 错误99不在flag范围之内

一个枚举的sizeof就是一个能容纳其范围的整型的sizeof,所有一般来说,是4(也可能是1)

int* p, y;          // int* p; int y; 而不是int* y;(不良的编程风格)

 

int x;
void f() {
    
int x = 1;
    ::x 
= 2;  // 给全局x赋值
    x = 2;    // 给局部x赋值
    
// ...
}

若没有提供初始式,全局的、名字空间的、局部静态的对象(统称为静态对象),将被初始化为0

在C中流行使用NULL来表示空指针。C++建议使用0,而不是NULL,这样带来的问题可能会更少一些。

int x;
void f() {
    
int x = x;  // 合法,但是很荒谬
    
// ...
}
原创粉丝点击