
C++
vcpro126
这个作者很懒,什么都没留下…
展开
-
sizeof ptr
struct LocalParam { LocalParam(size_t s) : size_(s) {} size_t size_;};template <class T>size_t size(const T&) { return sizeof(T);}template <>size_t size(const LocalParam& l) { return l.size_;}template <class T>.原创 2020-09-23 19:23:11 · 409 阅读 · 0 评论 -
宏定义 do while(false)
#define _STL_VERIFY(cond, mesg) \ do \ { \ if (cond) ...原创 2020-09-22 09:43:28 · 526 阅读 · 0 评论 -
vcpkg VS2017的全局集成
vcpkg是微软的开源工具包,可以很方便的下载第三方库并集成到Visual Studio环境。步骤1.下载vcpkg git clone https://github.com/microsoft/vcpkg2.编译 运行bootstrap-vcpkg.bat 生成vcpkg.exe3.查看Vcpkg支持的开源库列表 vcpkg.exe search4.安装第三方库 vcpkg.exe install gtest:x64-windows .\vc...原创 2020-05-10 18:43:12 · 3294 阅读 · 1 评论 -
C++17 - The Best Features
youtube: C++17 - The Best Features - Nicolai Josuttis [ACCU 2018]笔记:在头文件中定义静态变量 inline staticclass TrackNew{private: inline static int numMalloc=0;}C++17 compile-TIme iftemplate<ty...原创 2020-04-18 18:28:26 · 271 阅读 · 0 评论 -
异构计算笔记
异构计算视频:Heterogeneous Programming in C++ today - Michael Wong [ACCU 2018]笔记:异构计算技术OpenCL,CUDA, C++ AMP, OpenMP, OpenACC , SYCL,Directive vs Explicit Parallelism 指示性并行:OpenMP,OpenACC...原创 2020-04-18 18:09:36 · 261 阅读 · 0 评论 -
VS2017 C++ filesystem
VS2017 C++ 还没有正式支持filesystem,命名空间是std::experimental::filesystem。一些常用的方法:#include <iostream>#include <filesystem>#include <fstream>#include <string>using namespace std;...原创 2020-04-11 23:25:53 · 1809 阅读 · 0 评论 -
c++ unique_ptr
#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <memory>#include <functional>#include <cstdio>using namespace std;class A { public: A(int a, int b) { cou...原创 2020-04-11 18:42:13 · 270 阅读 · 0 评论 -
C++ 如何正确高效地定义字符串常量
阅读gtest.cc 代码发现 字符串常量都定义成数组的形式,为什么不定义成指针呢?// A test filter that matches everything.static const char kUniversalFilter[] = "*";// The default output file for XML output.static const char kDefaul...原创 2020-04-10 16:23:35 · 8264 阅读 · 0 评论 -
括号运算符函数,类型转换函数: int operator()() vs operator int ()
#include <iostream>using namespace std;class A {public: A(int v = 0): n(v) {} int operator()(int m) { n = m; return n; } operator int () { return n; } int n;};int ...原创 2019-12-30 16:45:46 · 337 阅读 · 0 评论 -
用boost filesytem清空(删除)文件夹下所有文件
#include <boost\filesystem\path.hpp>#include <boost\filesystem\operations.hpp>用boost filesytem清空(删除)文件夹下所有文件{ boost::filesystem::path tmpPath(R"(C:\temp\test1)"); boost::file...原创 2019-12-23 09:16:39 · 4232 阅读 · 0 评论 -
C++全局变量的初始化过程
全局变量在main()前完成初始化(调用构造函数)在调用构造函数前,全局变量已分配空间,内存全0多个全局变量的初始化,按照代码编译的顺序注意:全局变量被访问前可能它还没有调用构造函数初始化。如果一个项目中,多个dll都用到一个全局变量在共同的lib中,则每个dll都有一个独立的全局变量(地址不同),每个全局变量会初始化。如下代码,A里面访问了全局变量g_b, 改变全局变量g_a...原创 2019-09-29 09:51:53 · 2330 阅读 · 0 评论