随笔分类 -  LANGUAGE-C++

摘要:刚学cmake,很多东西还不是很懂,不过今天刚刚实现了通过CMake控制debug的开关,兴奋之余记录一下。 背景介绍: 最近参与到了一个大的C++项目,很多代码已经非常成熟,我来添加一些辅助功能,但是源代码中没有预留debug的接口。为了不影响现有代码的结构,我想通过宏定义的方式添加DEBUG控制 阅读全文
posted @ 2018-08-01 19:55 苏小北1024 阅读(15691) 评论(0) 推荐(0) 编辑
摘要:首先我们讲遍历std::map, 大部分人都能写出第一种遍历的方法,但这种遍历删除的方式并不太安全。 第一种 for循环变量: 结果如下: 第二种while循环的遍历: 运行结果与第一种方式相同,不过这种删除方式也是STL源码一书中推荐的方式,分析 m.erase(it++)语句,map中在删除it 阅读全文
posted @ 2018-07-12 15:27 苏小北1024 阅读(5110) 评论(1) 推荐(0) 编辑
摘要:0. Backgroud 此文章源于博主(sunshinewave),转到自己博客以后方便查看 map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在 阅读全文
posted @ 2018-07-01 23:05 苏小北1024 阅读(314) 评论(0) 推荐(0) 编辑
摘要:什么是C++11 C++11是曾经被叫做C++0x,是对目前C++语言的扩展和修正,C++11不仅包含核心语言的新机能,而且扩展了C++的标准程序库 (STL),并入了大部分的C++ Technical Report 1(TR1) 程序库(数学的特殊函数除外)。 C++11包括大量的新特性:包括la 阅读全文
posted @ 2018-07-01 22:29 苏小北1024 阅读(604) 评论(0) 推荐(0) 编辑
摘要:gcc/g++ 如何支持c11 / c++11标准编译 code: gcc 4.8.5 gcc 6.4.0 意思是指在C++98中不支持此循环方式,因为这是C++11新增的循环方式。 那么如果一定要编译呢? 通过命令man g++可以得知以下方法: 除了g++ , gcc 也可以类似方法支持C11 阅读全文
posted @ 2018-05-25 19:55 苏小北1024 阅读(1793) 评论(0) 推荐(0) 编辑
摘要:解决类似 /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found 的问题 源码编译升级安装了gcc后,编译程序或运行其它程序时,有时会出现类似 /usr/lib64/libstdc++.so.6: version `GLIBCXX_ 阅读全文
posted @ 2018-05-23 18:25 苏小北1024 阅读(3271) 评论(0) 推荐(0) 编辑
摘要:``` #include #include #include using namespace std; //key is: pid,cpuseq struct st_syscall { int min; }; //key is: pid,cpuseq struct st_pagfalt { int max; }; int type1() { struct st_syscall ... 阅读全文
posted @ 2018-04-17 23:42 苏小北1024 阅读(1407) 评论(0) 推荐(0) 编辑
摘要:``` include include include include include using namespace std; class finder { public: finder(const std::string &cmp_string) :s_(cmp_string){} bool o 阅读全文
posted @ 2018-04-16 10:59 苏小北1024 阅读(2729) 评论(0) 推荐(0) 编辑
摘要:Notice 1. 如果是program中有两个map对象,可能你需要两个map iterator,但是注意两个iter object不能命名一样,可以分别为iter1, iter2 Example include include using namespace std; struct Triple 阅读全文
posted @ 2018-04-14 15:04 苏小北1024 阅读(2782) 评论(0) 推荐(0) 编辑
摘要:``` #include #include using namespace std; int main(){ map mp; for (int i = 0; i ::iterator it_find=mp.begin(); it_find = mp.find(9); if(it_find != mp.end()) { it_find->secon... 阅读全文
posted @ 2018-04-12 16:11 苏小北1024 阅读(343) 评论(0) 推荐(0) 编辑
摘要:``` cat list.cc include include include using namespace std; include "osstat.h" class Node { public: int data; Node pPre, pNext; }; class DoubleLinkLi 阅读全文
posted @ 2018-04-11 19:07 苏小北1024 阅读(203) 评论(0) 推荐(0) 编辑
摘要:build: 打开宏开关的方式: DDEBUG 阅读全文
posted @ 2018-04-11 14:19 苏小北1024 阅读(501) 评论(0) 推荐(0) 编辑