stackoverflow-top-cpp icon indicating copy to clipboard operation
stackoverflow-top-cpp copied to clipboard

stackoverflow 上对 C/C++ 问题的整理、总结和翻译。

stackoverflow-top-cpp

问题皆来源于下面的两个链接:

  1. https://stackoverflow.com/questions/tagged/c%2b%2b?tab=Votes
  2. https://stackoverflow.com/questions/tagged/c?tab=Votes

注:001 - 117 基本符合 votes 排序(从高到低);从 118 开始,只挑选有意义的问题翻译,不再遵循 votes 排序高低依次翻译。

目录

  • 001 - 为什么处理一段已排序的数组比处理一段未排序的数组快.md
  • 002 - 这个操作符在 C++ 中是什么意思.md
  • 003 - C++ 图书指南.md
  • 004 - 指针和引用的区别是什么.md
  • 005 - 如何遍历字符串中的单词.md
  • 006 - 关键字 explicit 是什么意思.md
  • 007 - 为什么直接使用 using namespace std 是个坏习惯.md
  • 008 - 如何对一个位(bit)置 1、清零和取反.md
  • 009 - 如何优化 SQLite 每秒的插入操作.md
  • 010 - static_cast, dynamic_cast, const_cast 和 reinterpret_cast 怎么用.md
  • 011 - 应该对 malloc 返回的值进行转换么.md
  • 012 - 【不翻译】为什么元素逐个相加分离开来运算比组合在一起算要更快.md
  • 013 - 这两种包含头文件的方式有啥区别.md
  • 014 - 什么是三法则.md
  • 015 - 运算符重载的基本规则和习惯用法是什么.md
  • 016 - copy-and-swap 是什么.md
  • 017 - C 中这个运算符是什么意思.md
  • 018 - 【未翻译】C++ 11 的内存模型到底是什么.md
  • 019 - 为什么 C++ 的标准输入流比 Python 慢.md
  • 020 - Linux 上如何分析 C++ 程序的性能.md
  • 021 - 什么是智能指针.md
  • 022 - 为什么模板只能在头文件内定义.md
  • 023 - C 中的这串符号是什么意思.md
  • 024 - 【不翻译】系谱图软件出现循环.md
  • 025 - 什么是移动语义.md
  • 026 - 【不翻译】图像处理 - 可口可乐罐识别算法的改进.md
  • 027 - 数组中,为什么 a[5] == 5[a].md
  • 028 - 为什么我应该使用指针而不是对象本身.md
  • 029 - 这两个比较运算符运算速度有差别么.md
  • 030 - C++ 中,extern c 是什么意思.md
  • 031 - 为什么将 0.1f 更改为 0 性能会降低 10 倍.md
  • 032 - C++ 中把 int 转换成 string 的最简单方法.md
  • 033 - 【未翻译】什么是未定义的引用和未解析的外部符号错误.md
  • 034 - 什么时候使用虚析构函数.md
  • 035 - 【不翻译】编写用于高放射性环境的应用程序.md
  • 036 - C++11 中的 lambda 表达式是什么.md
  • 037 - 【不翻译】用 64 位的循环计数器替换 32 位的循环计数器会导致严重的性能偏差.md
  • 038 - const 与指针符号不同的前后顺序会有什么区别.md
  • 039 - 【不翻译】rvalues, lvalues, xvalues, glvalues 和 prvalues 各是什么意思.md
  • 040 - C++ 中为什么需要虚函数.md
  • 041 - C 语言中函数指针是怎么工作的.md
  • 042 - C 语言中 static 关键字是什么意思.md
  • 043 - 【未翻译】什么时候该用关键字 template 和 typename.md
  • 044 - 【不翻译】C 预处理器为什么会把变量 linux 解释为常量 1.md
  • 045 - 一个局部变量可以在其作用域之外访问么.md
  • 046 - 【不翻译】C++ 17 的新特性是什么.md
  • 047 - 【未翻译】未定义行为和序列点.md
  • 048 - new 语句中类型名后面加一对括号和不加有什么区别.md
  • 049 - public, private 和 protected 继承有什么区别.md
  • 050 - 【不翻译】请解释下 2006 年乱码大赛的代码.md
  • 051 - C++ 中的 POD 类型是什么意思.md
  • 052 - 如何使用 extern 关键字在不同的源文件间共享变量.md
  • 053 - 如何将数组的所有成员初始化为相同的值.md
  • 054 - 如何确定 C 语言中数组的大小.md
  • 055 - 为什么变量不可以在 switch 语句中声明定义.md
  • 056 - 【未翻译】在 C++ 标识符中使用下划线的规则是什么.md
  • 057 - C++ 中什么时候用 class 什么时候用 struct.md
  • 058 - 我可以在一个构造函数中调用另一个构造函数么.md
  • 059 - string 如何转化成 char 指针类型.md
  • 060 - C++11 的 typedef 和 using 有什么区别.md
  • 061 - 为什么 C++ 程序员要避免使用 new.md
  • 062 - C++ 仿函数是干什么用的.md
  • 063 - g++ 和 gcc 的区别是什么.md
  • 064 - 【不翻译】 C 语言单元测试.md
  • 065 - C++ 的 struct 和 typedef struct 有什么区别.md
  • 066 - 【不翻译】为什么 C++ 编写的冰雹猜想比用手写的汇编要慢.md
  • 067 - i++ 和 ++i 有什么区别.md
  • 068 - 声明和定义有什么区别.md
  • 069 - 为什么这些前自增后自增会导致为定义行为.md
  • 070 - 什么是 strict aliasing 规则.md
  • 071 - C++ 如何声明一个接口.md
  • 072 - 去除 string 头尾空格的最好办法.md
  • 073 - 宏中的 do-while 和 if-else 语句是干嘛用的.md
  • 074 - 【未翻译】C++11 中的 T&& 是什么意思.md
  • 075 - 【不翻译】为什么程序在正好遍历 8192 个元素时会变慢.md
  • 076 - malloc 和 calloc 的区别.md
  • 077 - 不使用加, 减, 乘, 除, 取余如何实现除以 3.md
  • 078 - C 和 C++ 中 main 语句应该返回什么.md
  • 079 - C 语言中的布尔类型.md
  • 080 - string 如何转成小写.md
  • 081 - 什么是对象切割.md
  • 082 - 【不翻译】wstring VS string.md
  • 083 - 【不翻译】什么是缓存友好代码.md
  • 084 - push_back VS emplace_back.md
  • 085 - C++ 单例设计模式.md
  • 086 - 成员函数末尾加个 const 是什么意思.md
  • 087 - C++ 标准是怎么规定类型 int 和 long 的长度大小的.md
  • 088 - 为什么结构体的 sizeof 不等于每个成员的 sizeof 之和.md
  • 089 - 【未翻译】C++ 中调用父类构造函数有什么注意点么.md
  • 090 - 【未翻译】同样的代码分别用 C 和 C++ 编译器编译运行产生不同的行为.md
  • 091 - 如何拼接两个 vector.md
  • 092 - 为什么推荐使用 static_cast 转换而不是 (int)x.md
  • 093 - 如何将一个 int 拼接在一个 string 上.md
  • 094 - 【不翻译】Project Euler 上程序对四种编程语言的速度对比.md
  • 095 - 【不翻译】如何获取 FLOP 理论最大值.md
  • 096 - 如何检测无符号整数乘法溢出.md
  • 097 - C 语言中的 size_t 是什么意思.md
  • 098 - 【不翻译】move 是什么.md
  • 099 - 如何检测一个元素是否在 vector 中.md
  • 100 - 什么时候使用前置声明.md
  • 101 - C++ 使用 ifstream 按行读取文件内容.md
  • 102 - 【不翻译】用 const string& 传参过时了么.md
  • 103 - 如何优雅的初始化 vector.md
  • 104 - while(1) vs while(2).md
  • 105 - 如何从进程内部确定 CPU 和内存消耗.md
  • 106 - C 语言中如何将函数作为参数.md
  • 107 - 如何使用 C 或 C++ 获取目录中的文件列表.md
  • 108 - 【不翻译】如何在子类中调用父类中的成员函数.md
  • 109 - 模板参数中 class 和 typename 的区别.md
  • 110 - C++ 源文件是使用 .cc 还是 .cpp.md
  • 111 - 【未翻译】为什么这个用法是错的?.md
  • 112 - 如何在程序崩溃时自动生成 stacktrace.md
  • 113 - static const VS #define VS enum.md
  • 114 - 【未翻译】为什么这个用法总是错的.md
  • 115 - 什么是段错误.md
  • 116 - 静态库和动态库的区别.md
  • 117 - C 语言如何随机生成一个 int.md
  • 118 - 如何将文件所有内容读取保存到 string.md
  • 119 - constexpr 和 const 的区别.md
  • 120 - C++ 中的 nullptr 到底是什么.md
  • 121 - 什么时候该用 inline 修饰函数.md
  • 122 - C++ 中不同的换行输出的区别.md
  • 123 - 【未翻译】Aggregates 和 POD 是什么.md
  • 124 - C++ 头文件是使用 .h 还是 .hpp.md
  • 125 - 迭代器失效.md
  • 126 - mutable 关键字的作用.md
  • 127 - 【未翻译】比较浮点数的最有效方式.md
  • 128 - 匿名命名空间 VS static .md
  • 129 - 什么时候应该使用 noexcept.md
  • 130 - 指针右左原则.md
  • 131 - 【未翻译】volatile 的作用.md
  • 132 - 【未翻译】可以通过模板来判断一个函数是否存在么.md
  • 133 - 如何使用使用 C++ 获得 shell 命令后的输出.md
  • 134 - enum class VS enum.md
  • 135 - 【未翻译】为什么推荐使用列表初始化.md
  • 136 - 【未翻译】#pragma once VS #ifdef.md
  • 137 - 如何通过宏来判断当前的系统类型.md
  • 138 - 如何得到当前程序所在目录.md
  • 139 - 【未翻译】函数声明为 delete 和 private 有何区别.md
  • 140 - 【未翻译】为什么 dynamic_cast 应避免使用.md
  • 141 - 指向类成员的指针.md
  • 142 - 【未翻译】decltype(auto) 如何使用.md
  • 143 - operator Type() vs Type operator().md
  • 144 - 【未翻译】C++11 基于范围 for 循环该怎么用.md
  • 145 - 【需完善】类成员模板函数为什么不能被 virtual 修饰.md
  • 146 - 为什么虚函数在编译期间无法确定下来.md
  • 147 - make_shared 和正常的 shared_ptr 构造函数有什么区别.md