cpp的一些冷语法

一些不常用的语法还是需要介绍一下的,不然自以为正确的会在上面耗时很久,虽然这些知识比较冷,但是设计出来还是有用武之地的。

脑子里留个印象比较好。


一、一些内置类型的大小

wchar_t这个内置类型,没有char那么常见,不过如果是实际场景中表示中文和日文等就需要用到了。

float一般大小为一个字的大小,即32位机器是4字节,double顾名思义是双字8字节了。

cpp的一些冷语法_第1张图片


看来long并不是真的变长了。不同编译器分配的内存可能都不一样的,所以用之前最好还是先sizeof一下了解大小。


二、字面值常量

int a = 10;

int b = 011;

int c = 0x11;(0X11)

分别表示十进制,八进制,十六进制数字。

cpp的一些冷语法_第2张图片

结果是9.

除了这些前缀,还有后缀表示的常量,如L和U(不分大小写)分别表示unsigned类型和long类型的。


三、引用

引用是变量的别名,使用的时候注意两点:

1.一旦指定对象,不能更换对象。

2.声明的时候必须初始化,即指定对象。


引用可以嵌套

一个对象可以被多次引用

cpp的一些冷语法_第3张图片

 

四、typename和class的区别。

http://en.wikipedia.org/wiki/Typename
查了好多中文资料都看不懂,还是wiki比较给力。

在普通定义template函数,两者是同义词。

以下情况就不同了:

template <typename T>

void foo(const T& t){

 // declare a pointer to an object of typeT::bar

typename T::bar* p;

}

Now the compiler knows for sure that T::bar is a type, and will correctly makep a pointer to an object of that type.

If you have any questions or ideas ,please feel free to contact me : )

thx.^^


QQ: 1623213673


你可能感兴趣的:(qq,object,Class,float,compiler,编译器)