【C++】随笔
关于C++.
江湖人称菠萝包
这个作者很懒,什么都没留下…
展开
-
【C++】单例模式的析构问题
【C++】单例模式的析构问题原创 2023-04-11 22:20:14 · 399 阅读 · 0 评论 -
【C++】strncpy 相比于 memcpy 需要注意的一个点
【C++】strncpy 相比于 memcpy 需要注意的一个点原创 2023-04-11 22:13:29 · 69 阅读 · 0 评论 -
【C++】智能指针的实现如果是void指针,将会调用不了管理的对象的析构函数
【C++】智能指针的实现如果是void指针,将会调用不了管理的对象的析构函数原创 2022-09-16 12:21:06 · 642 阅读 · 0 评论 -
【C++】C++最麻烦的解释——针对存在二义性的C++语句,只要它有可能被解释成函数声明,编译器就肯定将其解释成函数声明
针对存在二义性的C++语句,只要它有可能被解释成函数声明,编译器就肯定将其解释成函数声明。为临时函数对象命名即可解决问题,做法是多用一对圆括号,或采用新式的统计初始化语法(列表初始化)。#include <QCoreApplication>#include <QDebug>#include <thread>class ATestClass1{public: static ATestClass1 &getInstance() {.原创 2022-04-25 09:13:46 · 173 阅读 · 0 评论 -
【C++】函数的返回值是类的对象时,有些编译器会进行优化
函数的返回值是类的对象时,GCC编译器会进行优化(不调用拷贝构造函数或移动构造函数),而MSVC编译器不会。以下例子分别在下面环境运行通过:①Qt5.7.0,mingw5.3.0,debug模式;②Visual Studio 2015,debug模式.理论可供学习研究,但是具体情况还是要靠实践!#include <map>#include <iostream>using namespace std;template <class Key, class原创 2022-03-03 11:32:33 · 241 阅读 · 0 评论 -
【C++】private 函数用 virtual 修饰的一个用途
private 函数用 virtual 修饰时,可以用于“不想对外暴露 virtual 函数,而提供一个 public 的非虚函数给外界访问”的情形。具体看如下代码:#include <QCoreApplication>#include <QDebug>class Father{public: void func() { vfunc(); }private: virtual void vfunc() {原创 2021-12-16 19:55:49 · 1567 阅读 · 0 评论 -
【C++】指针作为参数传递的一个坑
#include <QCoreApplication>#include <QDebug>void func1(int *pCnt){ pCnt = new int(1);}void func2(int* &pCnt){ pCnt = new int(2);}int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); int *pCnt1 = nu.原创 2021-12-09 11:08:24 · 321 阅读 · 0 评论 -
【C++】C++11之后强大的type traits
在我自己写的类没有继承任何库里面的类或者组合任何库里面的类的情况下,惊讶于C++11它知道我自己写的类的那么多"隐私"。下面,直接看示例代码和输出结果。#include <QCoreApplication>#include <QDebug>#include <functional>class TestTypeTraits{public: TestTypeTraits(int nValue) : m_nValue(nValue) { }原创 2021-07-04 23:23:21 · 157 阅读 · 3 评论 -
【C++】关于拷贝构造函数与拷贝赋值函数的示例
通过示例去说明两个知识点:① DemoClass t1 = *this; // 这个写法是直接调用拷贝构造函数,而不是拷贝赋值函数.②在构造函数通过初值列的方式去初始化成员变量,是一次的拷贝构造函数和一次析构函数完成。而另一种方式是一次构造函数+一次拷贝赋值函数+两次析构函数。#include <QCoreApplication>#include <QDebug>class DemoClass{public: DemoClass(){ .原创 2021-06-28 21:53:24 · 109 阅读 · 0 评论