c++
VS2019 CMake编译gtest
从GitHub下载gtest源码。
从VS2019选择和创建CMake项目。
cout的格式化
STL cout的格式化收集整理如下, 以便查阅.
综述cout是STL库提供的一个iostream实例,拥有ios_base基类的全部函数和成员数据.进行格式化操作可以直接利用setf/unsetf函数和flags函数.
cout维护一个当前的格式状态, setf/unsetf函数是在当前的格式状态上追加或删除指定的格式,...
字节对齐
关于C++字节对齐收集整理如下, 以便查阅.
概念对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于它长度的整数倍,他就被称做自然对齐。比如在32位cpu下,假设一个整型变量的地址为0x00000004,那它就是自然对齐的。
List逆序的递归和迭代
List的逆序可以有递归和迭代两种方法, 这两种方法的C++实现如下.
#include <iostream>
struct Node {
int data;
Node *next;
};
void printNode(Node *node) {
Node *p =...
虚拟继承
概念:C++使用虚拟继承(Virtual Inheritance),解决从不同途径继承来的同名的数据成员在内存中有不同的拷贝造成数据不一致问题,将共同基类设置为虚基类。这时从不同的路径继承过来的同名数据成员在内存中就只有一个拷贝,同一个函数名也只有一个映射。
解决问题:解决了二义性问题,也节省了内存,避免了数据不一致的问题。
不能被继承的类
虚继承模板类NoCopyable的类不可再被继承。
#include <iostream>
#include <cstdio>
template <typename T>
class NoCopyable {
public:
friend T;
private:
NoCopyable()...
VS2017编译putty
下载putty从putty中选择”Unix source archive”下载
加载工程源码下载后, 解压,...
C++命令行参数解析
Linux在Linux环境可以使用getopt解析命令行参数.
mainmain()函数声明:
int...