c++ 学习备忘录
来源:互联网 发布:计算机 知乎 编辑:程序博客网 时间:2024/05/23 13:27
此备忘录是由于学校中教授的关于c和c++理论知识,和工作中遇到的一些学校没有涉及到的一些基础知识,此备忘录主要供自己查阅
1.c++中#define 遇到‘#’与‘##’关键字
首先在进行宏定义时,如果是这样的语句:#define TOSTRING(x) #x而在后面的代码使用该宏,例如:cout<<TOSTRING(123456)<<endl;则相当于如下代码:cout<<"123456"<<endl;
如果是进行宏定义时,如果时这样的语句:#define COMBINE(x) x ## 20171011 而在后面的代码中使用该宏,例如:int CONBINE(money);替换宏后的代码如下:int money20171011;
!!!NOTE:当使用含有‘#’或‘##’的宏定义时,如果参数是另一个宏,则参数宏不会展开!解决此问题,只需要在其中间加一层转换宏即可;例如:#define STR(x) #x 改为 :#define _STR(x) #x #define STR(s) _STR(s)
从电脑开机后,物理内存中的任何位置,都是能被读写的(只要操作系统的内存管理模块没发现),如果发现你访问的内存已经被人申请,那么OS的内存管理模块就会执行相应的操作;new和malloc都是向内存管理员去申请一块地方,而delete和free则是告诉内存管理员我放弃对申请的地方的所有权,但是内存的内容不会被处理,仍会保持原样(只要没有程序再申请这块内存之前)如果是类对象的delete操作,则会在放弃所有权之前去执行析构函数,所以内存内容取决于你析构函数执行之后的模样。
3.VS中无扩展名文件(OSG头文件)显示代码高亮的方法记录
打开VS-->点击工具-->选项-->文本编辑器-->文本扩展名-->将无扩展名文件映射到【 】设置即可实现,如已经打开的文件要重新打开才能高亮显示。
- C/C++ 学习备忘录
- C学习备忘录
- 备忘录(C语言)
- 备忘录 C/C++
- 【C++】Chapter14:备忘录模式
- C语言程序备忘录
- Objective C--备忘录模式
- Objective C 备忘录模式
- 备忘录--C语言
- 备忘录 C/C++
- C的IO备忘录
- Ajax学习--网址备忘录
- Ajax学习--网址备忘录
- Ajax学习--网址备忘录
- Ajax学习--网址备忘录
- Ajax学习 网址备忘录
- Ajax学习--网址备忘录
- Ajax学习 网址备忘录
- [codevs1099]字串变换 双向BFS
- java基础:文件遍历以及通过RandomAccessFile对文件进行随机访问
- Android自定义View之绘制基础
- VirtualBox 在Linux 下安装增强功能
- 25:螺旋加密
- c++ 学习备忘录
- Python-OpenCV学习笔记(一):基础知识汇总
- selenium+Python学习之调用webdriver接口方法来打开和关闭Chrome浏览器
- PG(HGDB)删除数据库时不能有任何连接,否则删除失败
- poj Collecting Bugs (期望dp)
- 电路的优化
- anaconda下的opencv安装
- HTTP Status 500
- RMQ模板