
c/c++
文章平均质量分 54
清风几度
try try try
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
变参函数相关介绍和封装
实现可变参数函数的二次封装,如printf、viPrintf等。原创 2022-12-27 17:44:41 · 710 阅读 · 0 评论 -
线程间同步(QT)
多个线程同时访问共享数据时可能会冲突,出现意料之外的结果,这源于操作的原子性问题,关于操作原子性可问度娘,这里不多做解释。原创 2022-02-25 18:02:20 · 1978 阅读 · 0 评论 -
自定义命名空间问题 /头文件源文件
头文件中一定不要有实现部分,除非不可避免,如变量赋值、函数定义等;实现部分尽量放在头文件对应的源文件中,即.cpp中,这样可以防止文件重复包含统一头文件时引起的变量重定义问题;在这里举个例子-> namespace的定义如果将namespace的定义和实现都放在.h文件中,那么当有两个文件同时需要用到该namespace中的名称时在vs2016中一定会引起报错;将namespace原创 2018-01-08 16:09:09 · 913 阅读 · 2 评论 -
vs源文件编译顺序--根据源文件在项目中先后建立的顺序决定,不是排序位置决定
第三天终于解决问题了,第二天和第三天到现在之前有种想摔鼠标的冲动,有种绝望的感觉。好吧,描述下问题。问题:两个看起来完全相同的工程,完全相同的源文件、头文件,总之所有的东西看起来都是完全一模一样。精简后的项目test1.0如下:A.h B.h A.cpp B.cpp M.cpp。各文件内容如下:执行test1.0,得到的结果如下:编译顺序为 A.cpp B.原创 2022-02-28 20:48:44 · 2520 阅读 · 0 评论 -
杂记1--虚析构函数
什么情况下必须使用虚析构函数:当父类指针指向子类,且父类和子类存在在析构时需要销毁的变量时。若不使用虚析构函数,则析构函数无多态性,默认只会调用父类的析构函数,因此不会销毁子类的变量,造成内存泄漏。当使用虚析构函数时,由于多态,会调用子类的析构函数,而子类析构函数在执行完后会调用父类的析构函数,因此不会导致内存泄漏。建议只要有继承,就将父类的析构函数定义为虚函数。原创 2017-09-16 18:40:37 · 350 阅读 · 0 评论 -
关于运算符的成员函数左右操作数问题
Two elements operator任何二元运算符要求左、右操作数:ObjectL op ObjectR1> 当重载为成员函数时,左操作数由this指针传递,右操作数由参数ObjectR传递.So IO operators should be overloading as nonmember functions.重载为友员函数时,左右操作数都由参数传递.2>原创 2017-07-13 21:01:48 · 1212 阅读 · 0 评论