![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++语言特性
二仪式
写一些自己研究过的东西。
展开
-
gcc工具使用
预编译,编译,汇编操作-E进行预编译操作,生成.i文件,注意,这里的.c文件是main函数所在的文件cc -E test.c -o test.i-S只进行编译操作,不进行汇编,生成汇编文件gcc -S test.i -o test.s-c进行汇编操作,把生成的汇编文件转为二进制的目标文件gcc -c test.s -o test.o链接操作(1)静态链接:在这种链接方...原创 2018-10-24 20:18:33 · 866 阅读 · 0 评论 -
c++ time相关知识
文章目录基本关系相关函数time()asctime()gmtime()localtime()ctime()mktime()settimeofday() 和gettimeofday()相关数据结构和结构体time_ttime_strtmtimevaltimezone实例基本关系time_t&tm&time_str之间的关系相关函数time()time()是最重要的一个函数...原创 2018-11-16 16:54:29 · 285 阅读 · 0 评论 -
指针和引用 作为函数参数
*和&* * 有两个作用,一个是作为标识符来表示这是一个指针(声明变量时的等号左边),也就是说存放的是地址,另外一个是作为运算符来取值(赋值等号左边)。int *p=NULL;int a = 1;p = &a;cout<<p<<" "<<*p<&原创 2018-11-05 18:23:11 · 9246 阅读 · 1 评论 -
C++ 多线程pthread 学习笔记
本篇是我在学习C++多线程的时候做的笔记,主要记录的是基础的流程,部分代码实例,以及部分重点函数的说明。pthread 入口函数类型说明void * func1(void * t)void* 表示无类型指针void*作为函数参数,表示函数接收一个指针,不管是什么类型的指针都可以,但是传递之前要强制转换为无类型指针。基础流程pthread_t t1;//声明一个线程pthread_c...原创 2018-11-07 17:02:49 · 7561 阅读 · 4 评论 -
char数组和char指针的使用区别和一些注意事项
const用法const char* p;表示p是一个指向常量字符的指针char* const p;表示p是一个指向字符的常量指针,p是不允许改变的另外要注意的是const char* p等价于 char const *p也就是说const描述char和*p是等价的char* p的内存分配方式char* p_char=“123”;上面的代码相当于是在常量区存储一个"123",然后...原创 2018-11-07 11:33:48 · 7323 阅读 · 0 评论 -
C++ 字符串转换
头文件#include <string>#include <stdio.h>c_str()函数C++标准库中的函数,作用是把字符串转变为字符数组以兼容C语言(C语言中没有string类型)atoi()函数C/C++标准库中的函数,作用是把字符串转换为数字,里面传递的是C里面字符数组,因此,如果是C++字符串,需要用c_str()函数进行转换类似的还有atof...原创 2018-11-06 10:21:01 · 1115 阅读 · 0 评论 -
使用char指针赋值引发警告deprecated conversion from string constant to ‘char星’
最近在做demo的时候遇到如下警告。warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]参考代码为:#include <stdio.h>#include <string>using namespace std;int main(){ char...原创 2018-11-06 10:17:29 · 1119 阅读 · 0 评论 -
函数模版和类模板的使用
templatetemplate用于重载(overriding),目的是让形参类型不同的函数可以共用一个类名或者函数名。最简单的使用,对一个函数进行重载,参数是可变的原型:template &lt;class identifier&gt; function_declaration;NOTICE:&nbsp;&nbsp;T也可以作为函数的返回值进行设置,并不一定是参数。例子:#...原创 2018-10-24 20:47:02 · 605 阅读 · 0 评论 -
宏定义的用法
有五种用法,含有参数和不含参数,行尾都不用加分号#define &amp;nbsp; &amp;lt;标识符&amp;gt;&amp;nbsp; [&amp;lt;替换列表&amp;gt;]//类似于全局变量了//如果其他文件没有包含定义宏的文件,则在宏定义的位置结束,如果有包含,则到包含的文件结束#define LARGEST_NUM 1000#define &amp;nbs原创 2018-10-24 20:29:02 · 847 阅读 · 0 评论 -
类构造函数初始化列表
表现形式有三种当前类进行初始化,尤其是当成员变量是一个const或者一个引用类型class Demo{ private: int a; public: Demo(int a):a(a){};}需要在初始化列表中调用外部类成员的初始化函数#include &amp;amp;amp;amp;lt;iostream&amp;amp;amp;amp;gt;using namespace std;...原创 2018-10-24 20:31:45 · 314 阅读 · 0 评论 -
C++中函数的动态绑定
所谓动态绑定,其实就是接口的实现由派生类完全覆盖。就是说原本声明的类型是基类B,但是调用函数的时候执行的却是不同派生类(由初始化或者赋值的时候定义)D的函数。动态绑定出现的条件有两个只有虚函数才能进行动态绑定。必须通过基类类型的引用或指针进行函数调用。例子#include &amp;lt;iostream&amp;gt;using namespace std;class Base{ p...原创 2018-10-24 20:22:23 · 914 阅读 · 0 评论 -
C++ 代码和变量存储位置
栈:程序自动分配,编译器在需要的时候分配,不需要的时候自动清除的变量存储区堆:程序员手动分配由new分配的内存,需要自己在程序里面手动释放常量存储区:存放的是常量,不允许修改,编译时分配,程序退出时才销毁全局/静态存储区:全局变量和静态变量存储的地方,编译的时候分配内存,程序退出的时候才会销毁。这个区域的中存储的变量早就被默认为0。代码存储区:函数体等代码存储位置...原创 2018-11-16 17:03:08 · 1091 阅读 · 0 评论