C/C++
文章平均质量分 87
土豆要学习
SLAM方向在读研究生
展开
-
C++ 多线程
多线程线程基本概念线程,有时称为轻量级(轻负荷)进程,因为切换负荷小,是CPU使用的基本单元(操作系统以进程为单位执行任务),是进程中的一个执行控制单元,执行路径;它由线程ID、程序计数器、寄存器集合和堆栈组成。它与属于同一进程的其他线程共享其代码段、数据段和其他操作系统资源(如打开文件和信号)。维基百科对线程的定义是:线程是一个编排好的指令序列,这个指令序列(线程)可以和其它的指令序列(线程...转载 2019-03-10 20:32:12 · 1081 阅读 · 1 评论 -
C++11 std::async替代线程创建
c++11中增加了线程,使得我们可以非常方便的创建线程,它的基本用法是这样的:void f(int n);std::thread t(f, n + 1);t.join();但是线程毕竟是属于比较低层次的东西,有时候使用有些不便,比如我希望获取线程函数的返回结果的时候,我就不能直接通过thread.join()得到结果,这时就必须定义一个变量,在线程函数中去给这个变量赋值,然后join,最...转载 2019-05-28 16:37:22 · 179 阅读 · 0 评论 -
指针和引用
C/C++指针和引用的区别https://www.cnblogs.com/gxcdream/p/4805612.html本质区别引用是别名,指针是存变量的地址的变量从定义看:指针在运行时可以改变其所指向的值,而引用一旦和某个对象绑定后就不再改变。这句话可以理解为:指针可以被重新赋值以指向另一个不同的对象。但是引用则总是指向在初始化时被指定的对象,以后不能改变,但是指定的对象其内容可以改变...原创 2019-04-19 10:54:56 · 226 阅读 · 0 评论 -
STL string,list,vector,map
stringstring是一个字符串的类,它集成的操作函数足以完成大多数情况下的需要。可以用**“=”进行赋值操作,“==”进行比较,“+”做串联**,使用非常简单,甚至可直接把它看作C++的基本数据类型。STL中string用法为了可以使用string,必须在你的头文件中包含下面的代码:#include <string>string类的7个实现(类中的7个基本成员...原创 2019-04-23 21:19:10 · 234 阅读 · 0 评论 -
struct在c和c++中的区别
C语言中:Struct是用户自定义数据类型(UDT)。c中的struct是没有权限设置的。C中的struct只能是一些变量的集合体,可以封装数据却不可以隐藏数据,而且成员不可以是函数。struct中间的某个类型(例如int)不可以直接初始化。C++语言中:Struct是抽象数据类型(ADT),支持成员函数的定义。C++中struct增加了访问权限,且可以和类一样有成员函数。 C...原创 2019-04-16 21:21:24 · 2213 阅读 · 0 评论 -
C/C++ new和malloc的区别
https://blog.csdn.net/linux_ever/article/details/50533149原创 2019-03-28 00:25:27 · 179 阅读 · 0 评论 -
C++ 类的静态成员及静态成员函数
对象与对象之间的成员变量是相互独立的。要想共用数据,则需要使用静态成员和静态方法。只要在类中声明静态成员变量,即使不定义对象,也可以为静态成员变量分配空间,进而可以使用静态成员变量。(因为静态成员变量在对象创建之前就已经被分配了内存空间)静态成员变量虽然在类中,但它并不是随对象的建立而分配空间的,也不是随对象的撤销而释放(一般的成员在对象建立时会分配空间,在对象撤销时会释放)。静态成员变量是...转载 2019-03-26 19:48:04 · 169 阅读 · 0 评论 -
父类子类指针问题
类相关类的重载与重写方法重载(overload):判断方法重载的方法主要是根据方法的参数不同来判定;必须是同一个类方法名(也可以叫函数)一样参数类型不一样或参数数量不一样方法重载的返回值的类型可以不同方法的重写(override)两同两小一大原则:方法重写的返回值类型需要相同,重写就是子类继承了父类的方法,并在此方法上重写属于自己的特征,既然是继承过来的,那么它的返回值类型就必须要...原创 2019-03-07 21:45:52 · 597 阅读 · 0 评论