
C/C++
文章平均质量分 52
北境の守卫
Good
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【C/C++】常见的链接错误与解决方法汇总 LinkError
Backto C/C++ IndexLinkError 指的是编译通过了,但是链接的时候出错.fatal error LNK1169: 找到一个或多个多重定义的符号通常指的是在 a.h 中定义了一个全局变量, 然后在 b.cpp 和 c.cpp 中都 include进去了.注意这时候, header guard #ifndef ... #def...#endif 是没用的. 因为he...原创 2018-11-27 15:02:23 · 7876 阅读 · 0 评论 -
【C/C++】标准库之 thread
Backto C/C++ Index<thread> 当然就是负责 thread 的创建,运行和销毁了.// thread example#include <iostream> // std::cout#include <thread> // std::thread void foo(原创 2018-11-21 20:36:09 · 1043 阅读 · 0 评论 -
【C/C++】标准库之 numeric
Backto C/C++ Index顾名思义, numeric 是一个用于数值计算的小库.Generalized numeric operationsThis header describes a set of algorithms to perform certain operations on sequences of numeric values. Due to their fl...原创 2018-11-14 20:35:38 · 5565 阅读 · 0 评论 -
【C/C++】库函数使用中的坑
Backto C/C++ Index库函数就是, 调用一时爽, debug 火葬场. 把踩过的各种坑列举如下.库函数的版本不统一因为年代久远, C++ 又要保证 对 C 的绝对兼容, 这个历史包袱就造成了某些常用函数有多个版本. 比如, 师爷就遇到过同样的程序在 PC 在跑的好好的, 移植到 Linux 结果就错了. debug 发现, 是 abs() 函数调用出了问题. PC 端调用...原创 2018-11-14 15:36:34 · 536 阅读 · 0 评论 -
【C/C++】标准库, STL, Boost等的联系
Backto C/C++ Index标准库最最开始, 只有 C 语言. 使用着使用着, 一些常用的功能被写成了库. 各种组织都是自己私有的库. 后来为了方便统一使用和交流, 就制定了标准. 标准里的库, 就是 C 标准库. 后来, C++ 引入了 class 扩展了C, 也就一起随着语言制定了更广泛更强大的标准库. 可以认为标准库是语言的一部分, 是核心的部分, 当然不可能面面俱到, ...原创 2018-11-15 15:01:46 · 1213 阅读 · 0 评论 -
【C/C++】 Debug 调试神器
Backto C/C++ IndexSegmentation Faults 段错误gdb等的使用原创 2018-11-08 10:30:40 · 368 阅读 · 0 评论 -
【C/C++】 内存检测工具 memeory check
Backto C/C++ Index*nix – Valgrind:Valgrind是一款用于内存调试、内存泄漏检测以及性能分析的软件开发工具。Valgrind这个名字取自北欧神话中英灵殿的入口。Valgrind的最初作者是Julian Seward,他于2006年由于在开发Valgrind上的工作获得了第二届Google-O’Reilly开源代码奖。Valgrind遵守GNU通用公...原创 2018-11-08 10:17:46 · 429 阅读 · 0 评论 -
【C/C++】 控制台等待指令
Backto C/C++ indexC/C++ 程序执行完后, 控制台一闪而过, 看不到输出的信息. 可以通过不同的方式是控制台暂停.Ctrl + F5只是debug用, 最终程序不需要执行完后暂停. Ctrl + F5 执行完后会自动暂停.C version#include <stdio.h>int main() { .... getchar(); retur...原创 2018-11-13 14:33:02 · 7389 阅读 · 0 评论 -
【C/C++】单例模式 Singleton
//.hclass Singleton {public: static Singleton* instance(); static void Close();private: Singleton(); ~Singleton(); static Singleton* _instance;};//.cppSingleton::Singleton() {}Singleton::~...原创 2018-10-26 22:22:20 · 281 阅读 · 0 评论 -
【C/C++】文件操作
Backto C/C++ Index引入头文件#include &lt;fstream&gt; 然后 Read 用 ifstream, Write 用 ofstreamifstream infile;ofstream outfile;// common operarionsfile.open("file_path.text", MODE);// do your bussi...原创 2018-10-26 22:10:32 · 159 阅读 · 0 评论 -
【C/C++】基础数据类型
Backto C/C++ IndexTypescharintlongfloatdoublesigned/unsignedTipsTip 01: (unsigned int 0 - 1)void foo(unsigned int k) { for(int i=0; i &amp;lt; k-1; ++i) ...}这段代码是一个简单的 k 次循环, 但是却隐藏着一个超...原创 2018-10-14 15:47:54 · 223 阅读 · 0 评论 -
【C/C++】多线程编程中踩过的坑
Backto C/C++ IndexK01: 当线程函数为C++类成员函数时霸王硬上弓会提示没有与参数列表匹配的构造函数, 其实是因为找不到成员函数的指针. 这篇文章 把问题的来由和解决方案走了一遍, 但最简洁的方案在这篇文章里:class A { public: A(); ~A(); void Show();};...A a;std::thread th...原创 2018-11-23 17:28:54 · 508 阅读 · 0 评论 -
【C/C++】容器之 vector
Backto C/C++ Indexvector 是 C++ 中最常用的容器, 一方面用来替代 C 中的数组, 另一方面引入了 C++ STL 风格的通用功能, 很酷很强大. 但同时也要注意两种风格混用的时候, 容易出问题.初始化数组方式: 给定容量 + 下标访问vector&lt;int&gt; vec(5); // sameto =&gt; int arr[5]; but vec...原创 2018-11-19 18:00:05 · 205 阅读 · 0 评论 -
【C/C++】模板基础 template
template like inline, 声明和实现必须在一起让编译器看到https://blog.youkuaiyun.com/jk110333/article/details/9235905https://stackoverflow.com/questions/115703/storing-c-template-function-definitions-in-a-cpp-file...原创 2018-11-27 10:18:25 · 4300 阅读 · 1 评论 -
【C/C++】C/C++哪个效率更高
C 与 C++ 谁的效率高,为什么? - 知乎https://www.zhihu.com/question/19779887原创 2018-11-26 14:49:33 · 5157 阅读 · 4 评论 -
【C/C++】static关键字详解
static 是 C/C++ 中被重载次数最多的keyword, 所以使用和理解的时候一定要找到对应的场景.CC++const satic原创 2018-11-26 14:11:48 · 302 阅读 · 0 评论 -
【C/C++】pthread -- unix-like 下的多线程并行方案
在windows下配置pthread https://blog.youkuaiyun.com/qianchenglenger/article/details/16907821如何使用: linux c pthread多线程 : https://www.jianshu.com/p/841fd777f556原创 2018-11-26 11:40:55 · 417 阅读 · 0 评论 -
【C/C++】标准库之 condition_variable
Backto C/C++ Indexcondition_variable, 条件变量, 简称 cv, 作用是给 lock 再加上一个开关. lock() 之后, 我再看看条件是否满足, 如果不满足的话就wait, 直到收到信号条件满足了, ok, 下一步.A condition variable is an object able to block the calling thread ...原创 2018-11-23 12:07:01 · 1221 阅读 · 2 评论 -
【C/C++】标准库之 future
Backto C/C++ Indexfuture 可以理解为金融中的 期货. 我有一个 future 类型的变量, 交给一个异步的线程去处理. 我到期来提货交割就可以了.这个能提供 future 服务的就叫provider.Header with facilities that allow asynchronous access to values set by specific pro...原创 2018-11-23 11:52:37 · 2017 阅读 · 0 评论 -
【C/C++】标准库之 atomic
Backto C/C++ Indexatomic 指的是原子操作, 一个一个来, 谁也别抢, 急也没用. 只要用于对内存数据的原子保护.Atomic types are types that encapsulate a value whose access is guaranteed to not cause data races and can be used to synchroni...原创 2018-11-23 11:26:27 · 7938 阅读 · 0 评论 -
【C/C++】标准库之 mutex
Backto C/C++ Indexmutex 的意思是互斥量, 主要作用是给敏感的数据和代码进行加锁和去锁, 让多线程互斥, 防止起冲突.Header with facilities that allow mutual exclusion (mutex) of concurrent execution of critical sections of code, allowing to ...原创 2018-11-23 11:15:49 · 1466 阅读 · 0 评论 -
【C/C++】标准库之 climits(limits.h)
Backto C/C++ Indexlimits.h 里面主要 define 了几个基本整型数值的 max 和 min 值,Sizes of integral typesThis header defines constants with the limits of fundamental integral types for the specific system and comp...原创 2018-11-25 16:43:28 · 806 阅读 · 0 评论 -
【C/C++】标准库之 algorithm
Backto C/C++ Indexalgorithm 听着就霸气十足, 肾上腺素喷涌.场景 ScenesS01: 找到最大最小值及其位置std::vector&amp;amp;lt;int&amp;amp;gt; v = {5, 2, 8, 10, 9}; int maxElementIndex = std::max_element(v.begin(),v.end()) - v.begin();int max...原创 2018-11-19 18:15:26 · 646 阅读 · 0 评论 -
【C/C++】指针相关汇总 Pointer
Backto C/C++ Index基础指针的基础, 看透这一篇就够了, 神文 让你不再害怕指针——C指针详解(经典,非常详细)看到一个 pointer, 明确其四个相关信息就 OK 了指针的类型指针指向内容的类型指针的值或者叫指针所指向的内存区或地址指针变量自身所在的内存地址适合画图揣摩, 和 单链表 差不多.作为练习, 明确下面几个类型//这是一个普通的整型变量i...原创 2018-10-12 23:14:17 · 259 阅读 · 0 评论 -
【C/C++】运算符重载
Backto C/C++ IndexC++ 中允许programmer 根据自身需要重载一系列的运算符,比如重载==运算符就比定义 equals() 函数名了的多。但是尽量不要重载表意不明的运算符。常用的重载运算符有 : =, ==, <,>, <<, >> 等。赋值运算符函数 =定义一个赋值运算符,需要注意四点返回值类型声明为该类型的引用,在...原创 2018-10-03 16:54:48 · 277 阅读 · 0 评论 -
【C/C++】C++ 版本演进
标准 C++C++ 98C++ 03C++ 11类的数据成员可以在类的定义中初始化. C++11之前的标准中,只有静态常量整型数据成员才可以在类中初始化。类定义只是一个框架,不是实例,不会分配存储空间,不会给它的成员变量赋值。只有类被实例化时,即创建对象,才会分配内存,才会给其成员变量赋值。静态常量整型数据成员是一个特例。(坑: VS2010支持C++11之前的标准(...原创 2018-08-29 15:45:42 · 795 阅读 · 0 评论 -
【C/C++】C 与 C++ 字符串操作
c_str 操作cpp_str 操作相互转化RefC字符串是使用 null 字符 ‘\0’ 终止的一维字符数组, C++字符串是一个继承了容器操作的类. c_str 操作cpp_str 操作相互转化//c_str to cpp_strchar c_str[] = "Hello";string cpp_str(c_str)C++字符串有两个内建...原创 2018-08-27 20:30:23 · 259 阅读 · 0 评论 -
【C/C++】字符串打印(format, printf, sprintf)
formatsprintfRefformatA format specifier follows this prototype: %[flags][width][.precision][length]specifier最常用#include &amp;amp;lt;stdio.h&amp;amp;gt;int main(){ //print char =&amp;am原创 2018-08-27 20:10:02 · 10003 阅读 · 0 评论 -
【C/C++】Google 出品的代码规范(Google C++ Style Guide)
翻译整理自 Google C++ Style GuideRefRefGoogle C++ Style Guide : 官方原版C++ Coding Style : 不错的表格汇总Google C++ 风格指南: 很完整的中文翻译一张图总结Google C++编程规范(Google C++ Style Guide): 非常帮的一张图,可以用于概览,回忆...原创 2018-08-13 20:01:22 · 10627 阅读 · 0 评论 -
【C/C++】C/C++集锦
I. 基础语法II. 高级主题III. 常用库C 标准库C++ 标准库IV. 编码规范I. 基础语法#define: 变量与小程序struct 结构体virtual : C++ 中的虚函数和纯虚函数const 详解II. 高级主题III. 常用库C 标准库C语言math.h库函数中atan与atan2的区别C++ 标准库IV....原创 2018-08-13 19:56:26 · 772 阅读 · 0 评论 -
【C/C++】C语言math.h库函数中atan与atan2的区别
RefRefC语言math.h库函数中atan与atan2的区别cmath中的atan函数和atan2函数原创 2018-08-13 18:34:31 · 2633 阅读 · 1 评论 -
【C/C++】const 详解
const 定义普通变量const 定义指针变量const 修饰函数const 修饰函数参数const 修饰函数返回值const 类相关操作const 修饰类成员变量const 修饰类成员函数const 类型转化为非const类型Best PracticeRefconst 定义普通变量# define PI 3.1415926const dou...原创 2018-08-13 12:00:17 · 286 阅读 · 0 评论 -
【C/C++】数据类型转换: 4 种 cast
C StyleC++ Stylestatic_castRefC StyleC 语言中简单粗暴,统统一个格式,编译器看着办TypeA a;TypeB b = (TypeB)a;C++ StyleC++ 中提供了 4 中类型转换操作符来应对不同场合的需要const_cast: 去掉 const 属性static_cast : 静态类型转换,可以理...原创 2018-08-14 15:51:23 · 336 阅读 · 0 评论 -
【C/C++】C++ 中的虚函数和纯虚函数(virtual)
RefRefc++中的虚函数: 讲解透彻,图表生动,汇编精彩C++虚函数 : 足量实例代码原创 2018-08-10 20:36:19 · 825 阅读 · 1 评论 -
【C/C++】结构体 struct
C 中的 structC++ 中的 struct常见的坑RefC 中的 structC++ 中的 struct常见的坑Ref初始化 struct 变量: C / C++ 的区别讲出来了原创 2018-08-10 20:08:25 · 1819 阅读 · 2 评论 -
【C/C++】C/C++ 文件的后缀名
RefC++源文件的后缀名问题 : 总结的很到位了*原创 2018-09-17 11:13:55 · 12067 阅读 · 0 评论 -
【C/C++】编译器 gcc / g++ 与 C / C++ 的关系
最开始,gcc 指的是 GNU C compiler, 也就是一个 C 编译器。g++ 也就是 gcc ++, 是 C++ 的编译器。后来,gcc 项目里又集成了许多其他语言的编译器,gcc 成了一个编译器集合GCC,也就变成了 GNU Compiler Collection。g++ 就是 GCC 中的 C++ 编译器。但是,在使用中,最常用的还是用 gcc 编译 C , 用 g++ 编译 C...原创 2018-07-30 10:37:02 · 4062 阅读 · 1 评论 -
【C/C++】构造函数 constructor
Backto C/C++ Index对于一个class,可以定义多种构造函数,比如class A { public: // your constructor A // your constructor B void Print() {std::cout<<value<<std::endl;} private: int value;};...原创 2018-10-03 16:20:37 · 1085 阅读 · 0 评论 -
【C/C++】析构函数 destructor
Backto C/C++ Indexdestructer 用来销毁对象实例的时候,释放占用的内存空间。因此,destructor 关注的首要问题就是内存的操作,不能越界销毁或重复销毁,也不能销毁不彻底,造成内存泄漏。最佳实践 Best Practice存在继承的情况下,base class 的 destructor 就声明为 virtual , 防止析构 derived class ...原创 2018-10-03 16:02:31 · 943 阅读 · 0 评论 -
【C/C++】sizeof 关键字详解
Backto C/C++ IndexThe sizeof keyword gives the amount of storage, in bytes, associated with avariable or a type (including aggregate types).This keyword returns a value of type size_t.首先, si...原创 2018-10-03 11:14:11 · 396 阅读 · 0 评论