数据,变量

main和_tmain取决于程序是否使用unicode,使用为_tmain

注释的另一种形式是以/*和*/为界

using std::cout;告诉编译器,只要使用名称cout,就表示std::cout

1.125E2,其中小数部分与E(代表指数)后面指定的10的幂相乘。=1.125x10²

常量结尾f指定它属于float型,如果没有f,这个常量就是double型。

typedef关键字能够为现有的类型定义自己的类型名称:typedef long int bigones;把bigones定义为long int 的别名

cout<<std::setiosflags(std::ios::left)//设置为左对齐


顺序运算符关联性
1::
2()【】-> . ++ -- typeid const_cast reinterpret_cast左向右
3logical not ! unary + unary - type cast sizeof decltype new new[]右往左
4.*    ->*左向右
5*   /       %左向右
6+ -左向右
7<<       >>左向右
8==     !=左向右
9&左向右
10^左向右
11|左向右
12&&左向右
13||左向右
14?:右向左
15=  *=  /=    %=  +=   -=   &=   ^=  |=  <<=   >>=右向左
16throw右向左
17左向右

如果一个运算符既有一元形式又有二元形式,一元形式始终具有较高的优先顺序,因而首先执行

包含被转换值的变量本身不会改变,编译器把转换后的值存储在一个临时的内存位置,在计算完成后删除

关键字static_cast表明将静态检查类型强制转换,也就是在编译程序时检查,dynamic_cast将动态转换,就是执行程序时

const_cast用于删除表达式中的const属性,reinterpret_cast是一种无条件的强制转换


auto关键字用作变量的类型,变量的类型根据提供的初始值来推断,但不要与初始化列表用在一起,因为初始化列表的类型为

std::initializer_list<int>    auto n=16;//n类型为int 

typeid操作符能确定表达式的类型,可以如此:typeid(x*y).name();


按位与&,全都为1才为1,否则为0,可以用来把变量中特定的位设置为0,创建掩码,想0的地方为0,想保持的地方为1

按位或|,有1就为1          按位异或,相同为0,不同为1//异或的性质,当两个char变量,则

first^=last;last^=first;first^=last;  则first ,last在不占用任何中间存储单元的情况下交换了值

按位否,0变1,1变0     按位左移和右移,二进制形式直接向左或向右偏移给定的位数,左移相当于乘以2的n次幂,右移除以

2的n次幂,舍弃余数。


lvalue指的是内存中持续存储数据的一个地址。实地址。rvalue是临时存储的表达式的结果

全局变量的创建和初始化发生在Main()函数执行之前

使用作用域符可以使用全局变量,用::变量名


不一定要接受枚举器的默认类型,而可以把枚举器的类型显示指定为除wchar_t之外的其他整数类型如:

enum Weekdays: unsigned long {mon,tues,wed} tomorrow;//现在weekdays的枚举器是unsigned long类型

安全类型枚举型enum class ......不支持值得隐式转换。

定义自己的名称空间: namespace mystuff{                      ...            };

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章