c++技术
文章平均质量分 53
面向对象技术探讨
face_to
这个作者很懒,什么都没留下…
展开
-
c++单例模式线程安全几种实现方式
单例模式线程安全常用写法原创 2022-08-30 15:48:43 · 1034 阅读 · 0 评论 -
获取__cplusplus宏的值
在c与c++混合编程中,c接口中需要调用c++接口,通常使用到__cplusplus宏。但是从__cplusplus代表什么值呢?以下写个程序验证一下: int main(void) { std::cout<<"c++ ver:"<<__cplusplus<<std::endl; } 采用以下指令进行编译: 1.g++ -Wall -pthread -std=c++17 -g -o test main.cpp 结果:c++ ver:201703 2.g+..原创 2022-03-07 15:47:56 · 720 阅读 · 0 评论 -
Template Method
Template Method主要粗像类实现模板方法(稳定的,不需要改变的)。该模板方法中,调用不同的实现接口(虚接口,继承子类实现相关接口)。外部调用稳定的模板方法,模板方法中的实现接口,在子类中实现。达到封装变化目的,提供了稳定的调用框架。实现类图如下: ...原创 2021-10-15 11:47:01 · 70 阅读 · 0 评论 -
const关键字作用
1.const修饰变量 2.const修饰指针 3.const在函数后缀 const放在成员函数作为后缀,method() const,表示不能修改任何类的成员变量值,否则,编译器报错。 若要修改某个变量的值,必须声明为mutable 如: class CConstTest { public: CConstTest(int x=0,int y=1) {m_x = x;m_y=y;m_z=0;} ~CConstTest() {} ...原创 2021-10-19 20:49:24 · 225 阅读 · 0 评论 -
this指针理解
01 this指针的作用 一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。也就是说,即使你没有写上this指针,编译器在编译的时候也是加上this的,它作为非静态成员函数的隐含形参,对各成员的访问均通过this进行。 如下例所示:pTest2->Out2(6) 与 COut2(pTest,6) 等价。 02 this指针的...原创 2021-01-04 20:57:43 · 237 阅读 · 0 评论 -
菱形继承,虚继承
在c++中,继承关系有:单继承和多重继承;在多重继承中,有一种继承是菱形继承(钻石继承)关系比较复杂。如下: 情形1:类B,C继承A,类D继承B,C class A { public: int base; }; class B :public A { public: int b; }; class C :public A { public: int c; }; class D :public B, public C { public: int d; }; void...原创 2021-04-20 18:21:53 · 125 阅读 · 0 评论