C++

一. 开发环境环境

  1. 基本环境设置
    gcc -v 查看编译器版本
    http://www.runoob.com/cplusplus/cpp-environment-setup.html
  2. CMake 编译器/链接器
    https://blog.csdn.net/xierhacker/article/details/79445339
    cpplint ?
  3. 基于VSCode
    https://code.visualstudio.com/docs/languages/cpp
    【C/C++】extension. This is an official Microsoft extension.
    【CMake】extension.
    【CMake Tools】extension. This enables usage of a set of CMake commands from inside VS Code.
    【Native Debug】.

C++ libraries ?

.vscode
.cmaketools.json # CMake: Build
.c_cpp_properties.json # C/Cpp: Edit Configurations
.launch.json # Debug: Open launch.json 【C++ (GDB/LLDB)】

https://lain.run/tutorials/Boost-and-Visual-Studio-Code/
https://medium.com/audelabs/c-development-using-visual-studio-code-cmake-and-lldb-d0f13d38c563

  1. 基于VIM?

二、基础

std::x count
std::string 729
std::vector 101
std::set 15
std::string::npos 9
std::numeric_limits 7
std::make_pair 7
std::move 7
std::map 5
std::memory_order_relaxed 5
std::pair 4
std::atomic 4
std::min 4
std::sort 3
std::FILE 3
std::mutex 2
std::string::size_type 2
std::fwrite 2
std::strerror 2
std::memcpy 2
std::thread 2
std::aligned_storage 2
std::deque 2
std::memory_order::memory_order_relaxed 2
std::abort 2
std::fflush 1
std::condition_variable 1
std::fclose 1
std::memset 1
std::stringstream 1
std::upper_bound 1
std::unique_lock 1
std::memory_order_seq_cst 1
std::forward 1
std::queue 1
std::this_thread::get_id 1
std::time_t 1
std::string::reverse_iterator 1
std::vsnprintf 1
std::snprintf 1
std::rename 1
std::getenv 1
std::atomic_thread_fence 1
std::fopen 1
std::tm 1
std::memory_order_release 1
std::va_list 1
std::ostringstream 1
std::max 1
std::adopt_lock 1
std::memory_order_acquire 1
std::swap 1

三、应用
https://github.com/fffaraz/awesome-cpp

  • 日志库
  • 配置文件?
  • 读写redis
  • 读写mysql
  • http/rpc请求
  • pb/json/xml处理?

四、高级
GDB
出core后如何调试
内存泄露,cpu狂涨的原因追查

五、优秀的开源项目
sqlite
redis
nginx

六、其他
union,联合体?

make -j 8 #多线程编译

符号:
::
<<
->
&

.

标识符:
https://www.runoob.com/w3cnote/cpp-keyword-intro.html
auto,声明变量时根据初始化表达式自动推断该变量的类型、声明函数时函数返回值的占位符
static,在程序的生命周期内保持局部变量的存在,而不需要在每次它进入和离开作用域时进行创建和销毁
const_cast
dynamic_cast
static_cast
reinterpret_cast
delete
explicit
export
extern
friend
mutable
operator
register,用于定义存储在寄存器中而不是 RAM 中的局部变量
template
this
typedef #为一个已有的类型取一个新的名字
typeid
typename
union
virtual
volatile
wchar_t

三字符组, 不常见?

数据结构?

std::vector<uint64_t>
std::map<uint64_t, int>
std::unordered_map<uint64_t, int64_t>
std::pair<std::string, float>

std::max
std::rand()
std::shared_ptr

std::accumulate
boost::random::discrete_distribution<>
boost::random::mt19937 gen((unsigned int) std::time(NULL));
boost::split
boost::is_any_of(",")
boost::lexical_cast<uint64_t>
std::make_pair

函数参数:传值调用
指针调用
| 引用调用 |

c++指针
引用

三、常用类库
std::unordered_map
std::shared_ptr
std::string
c++ 使用pb?

多线程编程?
操作pb?

四、常见问题?
1.# error passing 'const' as 'this' argument

  1. 简单语法了解

  2. 常用类库

  3. virtual, 接口定义?Base的虚拟函数,子类可以重写虚拟函数。

  4. typedef,

类型转换:str 转int 等

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,753评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,668评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,090评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,010评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,054评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,806评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,484评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,380评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,873评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,021评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,158评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,838评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,499评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,044评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,159评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,449评论 3 374
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,136评论 2 356

推荐阅读更多精彩内容

  • 转自http://blog.csdn.net/xugangwen/article/details/44811783...
    扎Zn了老Fe阅读 12,737评论 1 142
  • 重新系统学习下C++;但是还是少了好多知识点;socket;unix;stl;boost等; C++ 教程 | 菜...
    kakukeme阅读 19,912评论 0 50
  • C++ Primer Plus C++,贝尔实验室Bjarne Stroustrup设计的编程语言。C++ Pri...
    gb_QA_log阅读 1,240评论 0 1
  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 3,446评论 3 44
  • 在昆明已经呆了快十二个年头了,翠湖也不知去了多少回了,有刻意游玩去的,或者办事路过,但对湖边名声赫赫的云南大学始终...
    布尚阅读 490评论 2 1