加载中
C++11/14/17/20 对应visual studio版本

c++11----------visual studio 2012 c++14----------visual studio 2015 c++17----------visual studio 2017 c++20----------visual studio 2019 参考: https://blog.csdn.net/qing666888/a...

C++17代码编译采坑记录

*******************************error1 /*support C++17 compile error C2872 : “byte”: 不明确的符号 compile error duchuan https://blog.csdn.net/caimouse/article/details/106047569...

初识RTTR库

C++反射库 https://github.com/rttrorg/rttr 反射实现数据类型的转换 获取结构体字段的属性 值 类型 方法 作用一: 数据库操作结构体通过字段名获取 https://github.com/rttrorg/rttr/blob/m...

Boost asio IO多路复用

设计思路 多个链路对应一个IO 多个是几个 所有串口用一个IO TCP每10个用一个IO 总IO个数-CPU核数。 最优方案: 多个task/thread对应一个IO,IO总个数是=cpu core数。 https://www.cnblogs.co...

从C++98/03到C++11(新特性总结)

类型推导: auto:抛弃const和volatile关键字以及引用类型。 decltype:类型推导,更加健壮 C++返回值类型后置:结合auto和decltype确定返回值,消除模板的不确定返回值。 ‘>>’符号改进:9...

C++11新功能介绍-返回值类型后置(跟踪返回值类型)

泛型编程通过参数运算得到返回值的类型 C++ 的返回值是前置语法 template decltype(t + u) add(T t, U u) // error: t、u尚未定义 { return t + u; } 编译报错不认识T和U template...

C++11新功能介绍-非受限联合体(union)

union概念:定义多个数据,共享同一段内存。 C++11新规定,任何非引用类型都可以成为union的数据成员,这种union也被称为非受限union。 问题:受限什么了,11为什么有成为非受限了。 class ...

C/C++ warning C4251 需要有 dll 接口由 class“..” 的客户端使用

第一种: 无视它或者#pragma warnind( disable: 4251 ) 第二种:将该数据改为指针方式: class __declspec( dllexport ) Test { public: std::vector<int>* m_objCon; }; 然后在构造函数和析...

C++11新功能介绍-对模板实例化中连续右尖括号>>的改进

template <typename T> struct Foo { typedef T type; }; template <typename T> class A { // ... }; int main(void) { Foo<A<int>>::type xx; //编译出错 return 0; } gcc 报错: error: '...

sdplog日志二次开发

C++高性能日志库 跨平台 特性: skins组合:实现控制台和文件同时输出,控制台颜色显示 滚动文件输出:N个文件,每个文件大小达到XXMB自动增量,如果个数达到总数则覆盖第一个。 混合fmt做日...

2021/11/05 22:05
467
C++11 字符串大小写快速转换

toupper小到大 tolower大到小 transform(str.begin(), str.end(), str.begin(), toupper);

2022/03/08 16:35
434
C++11 常用编程小技巧-成员函数指针模板

/*使用场景 * 成员函数指针模板,减少重复代码 */ //模板实例化 case OpcUaType_Boolean: getArray<UaBoolArray, OpcUa_Boolean, &UaVariant::setBoolArray, &UaVariant::toBool>(&uaXmlEle...

c++循环引用

头文件互相循环引用的问题: 报错:写法 ----a.h #include "b.h" class a{ public: a(); ~a(); } ----a.cpp #incldue "a.h" a::a(){ .... }; a::~a(){ .... }; ----b.h #include "a.h" clas...

C++11新功能介绍-完美转发及实现方法详解

完美转发:函数模板中实现参数的wmzf? 所谓完美,即不仅能准确地转发参数的值,还能保证被转发参数的左、右值属性不变。 C++98 template void function(T t) { otherdef(t); } 1、T在实例化...

C++11新功能介绍-移动构造函数详解

-------------1、 98对象初始化拷贝 class demo{ public: demo():num(new int(0)){ cout<<"construct!"<<endl; } //深拷贝构造函数 demo(const demo &d):num(new int(*d.num)){ cout<<"copy ...

C++11新功能介绍-nullptr:初始化空指针

野指针/悬挂指针是指向不可用内存区域的指针。野指针不是NULL指针,是指向“垃圾”内存的指针。 最好 safe_delete safe_new 造成原因 1、ptr没有初始化 2、delete后没有null 3、指针move超越...

asio 定时器如何执行取消操作

cancel接口在执行后 如果已经启动了异步等待则会主动调用到callback 这个时候我们需要在cancel 保存一下m_cancel状态 void onTimer(const asio::error_code& ec) { //如果定时器已经被取消就...

C++11新功能介绍-for循环使用注意事项

------------1、 首先需要明确的一点是,当使用 for 循环遍历某个序列时,无论该序列是普通数组、容器还是用{ }大括号包裹的初始化列表,遍历序列的变量都表示的是当前序列中的各个元素。 遍...

C++模板特化与偏特化

不同于模板实例化 特化:模板参数在某种特定类型下的具体实现称为模板特化。模板特化有时也称之为模板的具体化,分别有函数模板特化和类模板特化。 ------------1、模板特化例子 #include <...

C++11新功能介绍-使用using定义别名(替代typedef)

-------重新定义一个类型 typedef unsigned int uint_t; void func(unsigned int); void func(uint_t); // error: redefinition typedef 局限:无法重定义一个模板 98声明2个不同value的map...

没有更多内容

加载失败,请刷新页面

返回顶部
顶部