首页 > 代码库 > 标准C++编程笔记day01 内联、new/delete、引用、转换
标准C++编程笔记day01 内联、new/delete、引用、转换
内联函数(inline):用函数已被编译好的二进制代码替换对函数的调用指令。
只有频繁调用的简单函数才适合内联,稀少被调用的复杂函数和递归函数都不适合内联。
编译生成.s的汇编代码:g++ -S ***.cpp
直接输出指针a地址值:count<<(void*)a;
以数组形式new的内存指针 int *a=new int [10];,也要以数组形式去delete,如 delete a[];
当指针为空时,delete 不会出错 ,但指针为野指针时,delete会出错。
标准异常处理:
try{
//代码
}
catch(exception& ex)
{
cout<<ex.what()<<endl;
}
从已有的内在中分配一块空间:
int *a=new int[5];
int *a1=new (a+1)int(10);//从a的第2个元素位置分配1个Int空间,初始化为10,与a[1]是同一段内存,a[1]也改为10
//a1是在a中的一段内存,所以,a1不需要单独释放,a释放就把a1释放了。
引用(别名):
int a=10;
int &r=a;//一般引用
int *pa=new int(20);
int *&rpa=pa;//指针引用
int arr[3]={0};
int (&rarr)[3]=arr;//数组引用
类型静态转换:static_cast<int>(char ch)
学类型转换:const_cast<int>(char ch);//将const char转为int 可修改。
const volatile int a;//读取常量京华后的值,真实值。
dynamic_cast<>() 父子类之间的转换。
C++中,string类型可直接使用 ==,>,<,>=,<=运算符。
获取string长度:str.length()。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。