上一页 1 2 3 4 5 6 ··· 33 下一页
摘要: 这今天有朋友面试遇到一个题是这样的 问你说出结果 如果你不了解隐式类型转换,你很大可能说 <= 6 结果是 .>6 哎,我就深入理解类型转换吧 所谓类型转换就是一种数据类型转换成为另一种数据类型 在一个算术表达式中,如果出现两个不同数据类型,就会先进性类型转换,在计算表达式的值 比如 cout << 阅读全文
posted @ 2019-10-16 20:39 ChunhaoMo 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 由于在c++中我们可以动态分配内存,但有时候我们会忘记用 delete或free释放内存,就会导致内存泄露。所以c++11提供了智能指针这种东西 本文参考了知乎某知乎友的 https://www.zhihu.com/people/mo-shan-zhe/activities 比如下面这两种情况 可能 阅读全文
posted @ 2019-10-16 18:58 ChunhaoMo 阅读(343) 评论(0) 推荐(0) 编辑
摘要: c++预处理器提供了预处理命令 #define 宏定义 #undef 取消宏定义 #else #elif #endif #error #if, #ifdef....... 这些命令在编译之前完成 条件编译 阅读全文
posted @ 2019-10-16 16:00 ChunhaoMo 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 参考学习链接 https://blog.csdn.net/sheng_ai/article/details/47860403 分为四个过程 1.预处理(生成.i文件) 2.编译(生成.s文件) 3.汇编(生成.o或.obj文件) 4.链接(生成.out或.exe文件,对应Linux和Windows吧 阅读全文
posted @ 2019-10-16 15:50 ChunhaoMo 阅读(481) 评论(0) 推荐(0) 编辑
摘要: 为了使指针和数组之类的连续数据列表操作更加简单和安全,c++11引入了用于获取 数组,列表,链表之类的序列数据首,尾地址的标准通常函数begin,end和范围的for循环语句 begin返回指向序列首元素的指针,end返回指向序列最后一个元素后一个位置的指针 begin返回0这个位置的指针,end返 阅读全文
posted @ 2019-10-16 15:01 ChunhaoMo 阅读(1759) 评论(0) 推荐(0) 编辑
摘要: c++11引入了类型推断定义符 auto和decltype auto用法如下 auto 变量名 1 = 表达式1,变量名2 = 表达式2,.......; 编译器会根据表达式结果推断出定义的变量的类型,并用表达式值进行初始化 auto忽略表达式的顶层const 和引用的const而指针底层const 阅读全文
posted @ 2019-10-16 14:33 ChunhaoMo 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 我们说过一个变量分为两个部分,左值和右值 左值代表变量内存区域 右值代码内存区域所存的值 我们平时说的引用是左值引用,c++11引入了右值引用 右值引用就是绑定到右值上的引用。用&&进行定义 类型 &&引用名 = 表达式 我们看几个例子了解一下 右值引用的特点是只能绑定到即将销毁的对象上,如常量或表 阅读全文
posted @ 2019-10-16 13:59 ChunhaoMo 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 指针和引用的区别 指针是一个变量,必须通过解引用运算符 '*'才能访问其指向的内存单元,而引用只是别名而已。 访问方式和普通变量一样。 指针因为是变量所以有自己独立的内存区域,可以对其重新赋值,让其指向其他地址 而引用是一个变量别名,都没有自己的内存区域,必须定义时进行初始化, 而且一经定义就不能作为其他变量的引用了 可以建立指针的引用,不可以建立引用的指针 阅读全文
posted @ 2019-10-16 13:47 ChunhaoMo 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 空指针 就是空类型的指针 void * 可以指向任何类型对象的地址 可以用于初始化指针 但是我们没有空指针访问权限的 野指针: 指针变量指向非法的内存空间 就比如说你去宾馆,你随便访问了一个房间,然而之前你并没有开房。 就你的行为越界了,是过分了,就是野的意思。非法访问了 阅读全文
posted @ 2019-10-16 11:41 ChunhaoMo 阅读(422) 评论(0) 推荐(0) 编辑
摘要: #include<bits/stdc++.h> using namespace std; char *strcpy(char *a,const char *b) { if(a == NULL || b == NULL) exit(0); char *c = a; while((*a++ = *b++) != '\0'); return c; } int main() { char a[2] = " 阅读全文
posted @ 2019-10-16 11:27 ChunhaoMo 阅读(724) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 33 下一页