c++的学习笔记之二
1. 类中定义的静态变量在编译时没有出错,但是在链接时出现错误,原因是该静态变量没有初始化。
class Obj {
public:
//...
private:
static vector<string> vstr;
};
vector<string> Obj::vstr;
这样在别的地方就可以使用该静态变量了,具体使用方法很简单,只要Obj::vstr 即可。
2. 一个类中声明了一个指针后,要记得初始化时将此指针赋为空值,在使用时先判断此指针是否为空,否则在使用一个未定义的指针时,会有错误出现;另外在重置指针时,不仅要回收new对象,而且最好将指针赋为NULL;
3. 在一个类中malloc或者new出来的空间,只需在此类的析构函数中进行回收,另外,将所使用的容器(vector, list等)清空即可。
4. 使用对象的get方法返回的数据,最好能使用引用返回。下附函数返回说明:
1)主函数main的返回值:这里提及一点,返回0表示程序运行成功。
2)返回非引用类型:函数的返回值用于初始化在跳用函数出创建的临时对象。用函数返回值初始化临时对象与用实参初始化形参的方法是一样 的。如果返回类型不是引用,在调用函数的地方会将函数返回值复制给临时对象。且其返回值既可以是局部对象,也可以是求解表达式的结果。
3)返回引用:当函数返回引用类型时,没有复制返回值。相反,返回的是对象本身。
int &func(int& a)
{ return a;
} int main(int argc , char* args[])
{ int a=0; int b=func(a); printf("&a=0X%08X,&b=%08X\n",&a,&b); }
运行结果:
&a=0X0012FF7C,&b=0012FF78
这里可以看到,返回变量的地址和传入地址是不同的。变量b是main函数中自己的栈中生成的。
int& c=func(a)
那么c就是指向a,
a变化那么c也跟着变化,
在上面b的情况,
是重新分配了一个空间,
因此不会同步变化。
c++的学习笔记之二相关推荐
- Programming C# 学习笔记(二) 出发:“Hello World”
小序: 准备写这章的学习笔记了,啊,Hello World!多么亲切的语句,呵呵,当初学C语言的第一个程序就是输出它, 还记得费了好大劲终于把它输出来时候的那种兴奋感觉,真是让我怀念哦!(然 ...
- SVO学习笔记(二)
SVO学习笔记(二) 这篇文章 稀疏图像对齐 地图点投影(地图与当前帧间的关系) reprojectMap reprojectPoint reprojectCell 特征点对齐中的非线性优化 结尾 这 ...
- Python学习笔记(二):标准流与重定向
Python学习笔记(二):标准流与重定向 - SamWei - 博客园 Python学习笔记(二):标准流与重定向 Posted on 2012-02-19 22:36 SamWei 阅读(176) ...
- pytorch学习笔记(二):gradien
pytorch学习笔记(二):gradient 2017年01月21日 11:15:45 阅读数:17030
- opencv学习笔记(二):基于肤色的人手检测
opencv学习笔记(二):基于肤色的人手检测 原文:http://blog.csdn.net/wzmsltw/article/details/50849810 先写了人手的检测程序,下一步基于检测程 ...
- python做直方图-python OpenCV学习笔记实现二维直方图
本文介绍了python OpenCV学习笔记实现二维直方图,分享给大家,具体如下: 官方文档 – https://docs.opencv.org/3.4.0/dd/d0d/tutorial_py_2d ...
- TensorFlow学习笔记(二):快速理解Tutorial第一个例子-MNIST机器学习入门 标签: 机器学习SoftmaxTensorFlow教程 2016-08-02 22:12 3729人阅
TensorFlow学习笔记(二):快速理解Tutorial第一个例子-MNIST机器学习入门 标签: 机器学习SoftmaxTensorFlow教程 2016-08-02 22:12 3729人阅读 ...
- 学习笔记(二)——CSS基础
文章目录 一.什么是CSS 二.CSS基本使用 2.1.行内式(内联样式) 2.2.内部样式 2.3.外部样式 2.3.1.嵌入式 2.3.2.导入式 三.选择器 3.1.基础选择器 3.1.1.标签 ...
- OpenCV学习笔记(二十六)——小试SVM算法ml OpenCV学习笔记(二十七)——基于级联分类器的目标检测objdect OpenCV学习笔记(二十八)——光流法对运动目标跟踪Video Ope
OpenCV学习笔记(二十六)--小试SVM算法ml 总感觉自己停留在码农的初级阶段,要想更上一层,就得静下心来,好好研究一下算法的东西.OpenCV作为一个计算机视觉的开源库,肯定不会只停留在数字图 ...
- OpenCV学习笔记(二十一)——绘图函数core OpenCV学习笔记(二十二)——粒子滤波跟踪方法 OpenCV学习笔记(二十三)——OpenCV的GUI之凤凰涅槃Qt OpenCV学习笔记(二十
OpenCV学习笔记(二十一)--绘图函数core 在图像中,我们经常想要在图像中做一些标识记号,这就需要绘图函数.OpenCV虽然没有太优秀的GUI,但在绘图方面还是做得很完整的.这里就介绍一下相关 ...
最新文章
- VC6.0连接数据库,并把大量数据从ACCess转移到SQL sever2008 的问题(亲测可用)
- 手机利用python访问电脑文件_黑客教程,一行python命令让手机读取电脑文件!
- opencms的主工作区文件研究
- ccf报数游戏java_ccf 201712 02 (游戏)
- interactive_timeout和wait_timeout之间的区别
- ABAP Code Inspector那些隐藏的功能,您都知道吗?
- 关于本地共享文件夹会话连接时间
- Python+Opencv实现自动化阅卷
- strace命令用法
- django-redis中redis.conf配置详细说明
- 关于BEA-000402和BEA-000438(没有进程来读取写入管道的数据)
- iscsiadm及其他磁盘相关命令
- 第二篇:稳定性之如何有条不紊地应对风险?
- lisp求面与面的差集_Lisp 入门
- java环境怎么搭,如何搭建一个完整的Java开发环境
- 复杂的指针获取字符串里的内容放入数组
- 第五章 Windows基础控件
- 使PNG图片在IE浏览器实现透明效果代码
- vue json 编辑组件_内置为Vue组件的Visual JSON编辑器
- Spring常用注解整理