C++语法
文章平均质量分 56
fantasy_arch
这个作者很懒,什么都没留下…
展开
-
1.4 编译驱动器
编译 驱动器原创 2023-03-25 00:37:49 · 280 阅读 · 1 评论 -
C++模版元编程--浅式实例化
C++ 模版 实例化原创 2023-02-08 11:51:49 · 236 阅读 · 0 评论 -
Metaprogram 对一个程序进行编程
模版 运算原创 2023-02-05 11:37:11 · 407 阅读 · 0 评论 -
函数模版实践
模版 函数原创 2023-01-28 19:23:39 · 338 阅读 · 0 评论 -
单例 懒汉式
单例 懒汉式原创 2022-11-09 14:18:25 · 356 阅读 · 0 评论 -
设计模式之禅-策略模式
设计模式,策略模式原创 2022-11-09 10:21:22 · 149 阅读 · 0 评论 -
如何把对象new到共享内存上重启并恢复?
把c++对象存到共享内存原创 2022-06-07 14:18:59 · 641 阅读 · 2 评论 -
被同事扔过来hpp文件作为接口文件怎么办?
hpp文件一般是声明和定义都在一个文件里面,使用的时候,直接include就可以用了,不需要额外编译链接库。关键是给的hpp文件里面还有namspace 包含这。1 如果我在多个.cpp文件中使用,都需要include进来,这样链接的时候,就会重复定义。2 如果我不include,直接extern里面的接口函数,就会报错找不到namespace 的定义。问题看似已经无解了,仔细琢磨了一下,有两种办法来解决。一 这个hpp文件只能定义一次,那只能自己再套一层接口,把hpp包装起来,给自己提原创 2020-06-19 14:52:59 · 387 阅读 · 0 评论 -
C++模板偏特化简单demo
#include <stdio.h>#include <stdlib.h>template<typename A>A AddTwo(A a,A b){ printf("its defailt.\n"); return a + b;}//一般将特化模板函数定义放在缺省模板函数下面。int AddTwo(int a,int b)...原创 2019-11-27 09:46:13 · 210 阅读 · 1 评论 -
C++ 拷贝构造的一个小陷阱
Widget& Widget::opterator=(const Widget& rhs){ delete pb; pb = new Bitmap(*rhs.pb); return *this;}假设这里的rhs 就是this,delete 后 给拷贝构造函数传参,会异常。因此,我们这样写。Widget&...原创 2019-11-26 10:03:13 · 257 阅读 · 0 评论 -
C++11 std::future std::promise
std::future 将阻塞当前线程,等待std::promise设置future的值。这里由于std::future 是阻塞的,因此肯定无法在当前线程中,给std::promise设置值了,肯定需要在创建的新线程中来设置std::future。于是我们写如下测试代码:#include<iostream>#include<thread>#i...原创 2019-05-28 10:23:03 · 521 阅读 · 0 评论 -
C++11语法auto推导返回
C++不允许直接推导auto返回类型,如果要用auto返回类型,需要用decltype 声明尾返回类型如下面代码:template<typename A,typename B>auto add(A x, B y) ->decltype(x + y){ return x + y;}调用方式还是和普通的模板元函数一样std::cout <<...原创 2019-05-12 21:47:44 · 3816 阅读 · 0 评论 -
C++11语法,统一初始化
统一初始化,不再需要像以前一样,显式的调用构造函数来初始化对象,直接{value1,value2,...}看起来方便了很多。下面来看一个例子。#include <memory>#include <stdio.h>#include <stdlib.h>class AA{public: int a; int b; ...原创 2019-04-26 10:43:40 · 266 阅读 · 0 评论 -
C++智能指针局限性
对于new出来的对象,用智能指针无可厚非,避免马虎大意造成内存泄漏。但是对于malloc出来的内存,就不能用智能指针释放了,比如在使用ffmpeg的时候,申请的内存,这种非常容易忘记释放而导致内存泄漏,我实现了类似于智能指针的类来辅助释放这类内存块。#include <functional>template <class T>class AutoFree...原创 2018-12-30 23:24:15 · 565 阅读 · 0 评论