C++语言
对平时使用的一些C++语言用法进行总结
justinye35
这个作者很懒,什么都没留下…
展开
-
Cpp-变参
1 可变参数宏 例子: int sum(int count, ...) { //格式:count代表参数个数, ...代表n个参数 va_list ap; //声明一个va_list变量 va_start(ap, count); //第二个参数表示形参的个数 int sum = 0; for (int i = 0; i < count; i++) { sum += va_arg(ap, int); //第二个参数表示形参类型 } va_end(ap); //用于清原创 2020-11-02 14:06:32 · 236 阅读 · 0 评论 -
uint_t(uint8_t)和size_t
1 C语言中的基本数据类型 整数型:short、int、long 浮点型:float、double 字符型:char 2 uint8_t\uint_16_t\uint32_t\uint64_t 这些数据类型中都带有_t,_t 表示这些数据类型是通过typedef定义的,而不是新的数据类型。它们其实是我们已知的类型的别名 使用这些类型的原因:方便代码的维护,在涉及到跨平台时,不同的平台会有不同的字长,所以利用预编译和 typedef 可以方便的维护代码。比如在C中没有bool型,于是在一个软件中,一个程序员使原创 2020-11-01 14:26:22 · 4175 阅读 · 0 评论 -
学习C++11和C++14
参考的资料是马上实习mentor给的《高速上手C++11/14》 大致过一遍内容,把重点内容仔细理解。 1. 一些被弃用的内容 弃用不是废弃,而是避免使用,为了兼容性,可能会永久保留的内容。 如果一个类有析构函数,为其生成拷贝构造函数和拷贝赋值运算符的特性被启用。(google编码规范中也提到过,要么主动声明,要么不允许生成); 不允许char* str = "Hello World !!"将字符串常量赋值给char*,应该用 const char *或者auto 异常说明应该用noexcept。(异原创 2020-05-25 23:09:23 · 1411 阅读 · 1 评论 -
Linux学习-7 makefile 一个C++项目
1. 使用makefile 提前:安装好vim gcc g++等软件 项目: main.cpp A.h A.cpp (1) 创建一个C++项目的目录和生成文件 mkdir test // 建立test文件夹 cd ./test vi A.h vi A.cpp vi main.cpp // 使用touch命令也可以 代码如下: // A.h class point{ private: int x_, int y_; public: A(int a,int b):x_(a)原创 2020-05-25 16:26:52 · 200 阅读 · 0 评论 -
GoogleC++编程规范&C++没用到的内容梳理)
1. 头文件 1.1 #define 为了保证唯一性,头文件的命名应该基于所在项目源代码树的全路径。 // 项目foo中的头文件foo/src/bar/baz.h // 命名格式 PROJECT_PATH_FILE_H #ifndef FOO_SRC_BAR_BAZ_H #define FOO_SRC_BAR_BAZ_H ... #endif FOO_SRC_BAR_BAZ_H 1.2 头文件依赖 使用前置声明尽量减少 XXX.h 文件中 #include 的数量 原因:newClass.h 文件中包含了原创 2020-05-19 17:16:51 · 379 阅读 · 0 评论 -
C++的RAII和智能指针
RAII 资源获取即初始化技术 资源:网络套接字、互斥锁、文件句柄和内存等等,它们属于系统资源,数量有限且对系统正常运行具有一定作用的元素。 如果把资源用类进行封装起来,对资源操作都封装在类的内部,在析构函数中进行释放资源。当定义的局部变量的生命结束时,它的析构函数就会自动的被调用。 引用别人的代码 https://www.jianshu.com/p/b7ffe79498be #include <iostream> #include <windows.h> #include &l原创 2020-05-19 00:23:55 · 200 阅读 · 0 评论 -
C语言-函数指针(以signal函数为例)
函数指针 在学习UNIX环境高级编程,信号中有一个函数signal()定义中涉及到函数指针。 #include <signal.h> typedef void (*sighandler_t)(int); sighandler_t signal(int signum, sighandler_t handler); 1. 函数指针 指向某种特定类型的函数,函数的参数和返回值类型相同; i...原创 2020-05-08 16:19:13 · 321 阅读 · 0 评论 -
C++ memset() 和 memcpy() 用法
1. memset() void memset(void *s, int n, size_t size); 表示将 s 的内存大小 size 每个字节设置为 n eg: #include <memory> 或者 <cstring> int a[5]; memset(a, 1, 5*4); 实现的是:将int a[5] 的总共20个字节设置为 1111 1111 1111...原创 2020-03-25 01:23:14 · 371 阅读 · 0 评论