C++关键字解析与实例

来源:互联网 发布:剑灵龙男捏脸数据大全 编辑:程序博客网 时间:2024/06/05 08:46

asm :

意义由实现定义,典型实现中传输其中的字符串给汇编器

asm实例如下:

 asm("mov -8(%rbp),%r15");//把rbp-8这个地址里面的值 作为地址给r15; asm("mov $6,%r15");//r15赋值为6;
 asm("add $1,(%r15)");//把r15作为一个变量把它对应的地址储存的值加1;


auto:
在C++98/03中这个这个关键字用于声明块中的变量的生存期为自动生存期,若是对象同时具有自动存储类,即生存期在块结束时结束。这样的变量被称为局部变量。这个关键字不常用,因为即便省略,声明的默认就是auto的。[6] 
在C++11中,auto的含义改变为自动通过初值符推断声明的类型占位符。如声明auto i = 1;,auto就相当于int,因为1是int类型,可以推断出i的类型。也可以使用auto& i等声明,具体推导规则同模版参数类型推导。

auto实例如下:

情景1:

    auto num = 10; //普通变量赋值 num是int类型

情景2:
<pre name="code" class="cpp">    vector<string> str_vec;      vector<string>::iterator it_old = str_vec.begin();      auto it_new  = str_vec.begin();  //根据函数返回的类型 而确定it_new的类型


情景3:
<pre name="code" class="csharp">    auto add(int a, int b)->int {  //可以返回任意类型的数据         return a + b;      }  

bool,true,false:

bool即布尔类型,属于基本类型中的整数类型,取值为真和假。true和false是具有bool类型的字面量,是右值,分别表示真和假。

知识点1:///长度不同

bool与BOOL之间的区别

bool只有1个字节

BOOL长度视实际环境来定,一般可认为是4个字节

知识点2:///类型不同

知识点3:///取值不同

bool 与true,false:实例#include<iostream>using namespace std;int main(){bool b =2; //执行此行后,b=true(整型2转为bool型后结果为true)if(b)cout << "ok!" << endl;b = b-1; //执行此行后,b=false(bool型数据true参与算术运算时会转为int值1,减1后结果为0,赋值给b时会转换为bool值false)if(b)cout << "error!" <<endl;return 0;}打印结果为:ok

#include<iostream>using namespace std;int main(){BOOL b =2; //执行此行后,b=2(BOOL为int此处不进行类型转换,b存放的就是2)if(b)cout << "ok!" << endl;b=b-1; //执行此行后,b=1(只是简单的进行算术运算,结果为1,回存)if(b) // b非0,条件为真cout << "error!" <<endl;return 0;}运行结果:OK!error!


<pre name="code" class="csharp">

1 0