随笔分类 - C++
摘要:依赖项 cmake https://cmake.org/download/ 需要3.16版本以上 perl https://strawberryperl.com 下载后安装,保证命令行环境中可用 ninja https://github.com/ninja-build/ninja/releases
阅读全文
摘要:看了题目中的几个函数名是不是有点头晕?为了防止以后总在这样的细节里纠缠不清,今天我们就来好好地辨析一下这几个函数的异同。 实验环境: Windows下使用VS2017Linux下使用gcc4.9.4 为了验证函数的安全性我们设计了如下结构 当我们把数据写到Data.buf字段中去的时候,如果发生了内
阅读全文
摘要:#include #include #include #include template typename std::enable_if::value, std::string>::type to_string(const T & val) { return std::to_string(val); } template typename std::enable_if:...
阅读全文
摘要:FASTBuild 是一款高性能、开源的构建系统,支持高度可扩展的编译,缓存和网络分发。 以上是FASTBuild官网对其产品的一句话介绍。 FASTBuild 的开源地址:https://github.com/fastbuild/fastbuild 众所周知C/C++语言的一大特色就是需要人为地描
阅读全文
摘要:.proto .cpp 运行结果: 注意:当再次插入重复的key的时候,插入操作将会失败.
阅读全文
摘要:代码: 在不同的开发环境中,分别编译出x86程序和x64程序,观察执行结果 环境: Win10_64位 + VS2015_32位 在上面的结果中,除了指针的size不一样之外,其它的内置类型是完全相同的.
阅读全文
摘要:void str_split(const std::string & src, const std::string & sep, std::vector & vec_str) { std::string::size_type start = 0; for(std::string::size_type end = src.find(sep, start); end != std::...
阅读全文
摘要:一. SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../bin) 上面的语句能设置可执行文件的输出目录 在Win + VS环境下,会自动在你所设置的目录后面扩展一层 <CONFIG> 目录,所以最终生成的Debug版本程序会在 ${PROJECT
阅读全文
摘要:该函数有两个效果: 1.按照代码文件在磁盘的目录结构来组织VS的筛选器结构 2.如果同一个目录下包含同名的.cpp和.h文件,则会将这两个文件组织到同一个筛选器中. 效果:
阅读全文
摘要:第一句表示开启使用文件夹选项,最好放在CMakeList.txt的开头部分,如果没有这句,第二句将不会生效. 第二句表示具体把哪些项目放在哪个目录下,多级目录用 / 分割. 参考链接:https://cmake.org/cmake/help/v3.3/prop_tgt/FOLDER.html
阅读全文
摘要:bool CopyFile(const std::string &src, const std::string &dest) { std::ifstream fin(src.c_str(), std::ios::in | std::ios::binary); if(!fin) { std::cout << "open in file[" << src <<...
阅读全文
摘要:利用VS开发C++项目,经常发现修改系统时间后,每次编译过程会变得很慢,其原因就是当你把系统时间调到未来的一个时间点,然后有意或者无意编辑过一些代码文件,那么这些文件的时间戳就停留在未来. 当你把系统时间调到现在后,编译器每次编译的时候,总会判定这些文件是最新的(因为它的时间戳总是大于目标文件的时间
阅读全文
摘要:#include #include #include #include // 0 = 黑色 8 = 灰色 // 1 = 蓝色 9 = 淡蓝色 // 2 = 绿色 A = 淡绿色 // 3 = 浅绿色 B = 淡浅绿色 // 4 = 红色 C = 淡红色 // 5 = 紫色 D = 淡紫色 // 6 = ...
阅读全文
摘要:#include #include #include #include #include template void Dump(const T &s) { for (T::const_iterator it = s.begin(); it != s.end(); ++it) { printf("%d ", *it); } printf(...
阅读全文
摘要:思路很简单,先分段排序,存储到临时文件中,然后合并. 使用10000个整数来模拟大数据,每次读取100个到内存中.
阅读全文
摘要:参考文章:http://blog.csdn.net/linyt/article/details/53355355 本文参考linux系统中 kfifo缓冲区实现.由于没有涉及到锁,在多线程环境下,只适用于 单生产者 + 单消费者 模型. fifo_buffer.h fifo_buffer.cpp 测
阅读全文
摘要:#ifdef WIN32 #include #include #else #include #include #endif #include #include #define MAX_PATH_LEN 256 #ifdef WIN32 #define ACCESS(fileName,accessMode) _access(fileName,accessMode) #define ...
阅读全文