- 博客(11)
- 收藏
- 关注
原创 C/C++面对对象
目录1. 面对对象基本概念1.1 面向过程与面向对象的区别1.2 面对对象的基本特征2. 类的声名2.0 类和结构体的区别2.1 类中静态数据成员与静态成员函数2.2 const 修饰符在类中的用法2.3 友元函数和有元类3. 构造函数和析构函数3.0 只有当类中没有任何构造函数时,系统才会生成一个无参的构造函数。3.1 默认拷贝构造函数对数据成员作浅拷...
2019-08-13 17:09:57
454
2
原创 C/C++字符串处理相关
1. C标准字符串函数int strcmp(char * str1, char * str2) : 比较函数 char * strcpy(char * str1, char * str2) : 拷贝函数 char * strcat(char * str1, char *str2) : 拼接函数 int strlen(char * str) : 长度函数 char * strstr(c...
2019-08-12 19:50:00
397
原创 C/C++this指针、空指针、野指针和引用
1. this指针1.0 常识性问题当对象访问类中的非静态成员时,编译器会自动将对象的地址隐式的作为第一参数传递给this指针。 类的静态成员属于整个类,不属于某一个对象,没有对象也就谈不上this指针。 编译器的实现决定this指针保存的位置。 this指针是一种特殊的指针,无法直接获取this指针的地址。 this指针并不是类的成员,不属于类的一部分。 this指...
2019-08-11 21:52:14
1223
原创 C/C++函数指针
1.0 基本含义每个函数在内存的程序段都占用一段存储大单元,这段存储单元的首地址称为函数入口地址,指向这个函数入口地址的指针称为函数指针。函数指针的抽象定义为 : 数据类型 (* 指针变量)(参数列表)2. 实例1如下是一个简单的求加减乘除的程序(参考《程序员面试笔记-C/C++、算法、数据结构篇》int Add(int a, int b) { return a + b; }...
2019-08-10 16:37:13
231
原创 C/C++指针传参,多传参思想
1. 先写结论如果想通过指针在被调函数中修改主调函数的变量,必须将主调函数变量的地址作为参数,在被调函数中修改指针指向的内容。如果要修改的变量本身就是指针,就应该将指针的地址作为参数,此时形参类型是指向指针的指针。2. 三种方法实现被调函数修改主调函数的变量例子参阅于《程序员面试笔记-C/C++、算法、数据结构篇》。已知姓名用“名字#姓氏”的方式存储在字符串中,例如James#...
2019-08-10 15:34:55
593
原创 C/C++指针数组和数组指针
1. 指针数组 : 存放指针的数组其定义抽象为:指向变量的类型 * 数组名称 [数组长度]。int *p[2];p[0] = NULL;p[1] = NULL;2. 数组指针 : 指向数组的指针2.0 定义抽象:数组元素类型 (* 指针名称)[数组长度].2.1 假设数组int a[2][2] = { {1,2},{3,4} };的首地址为0x11000000.则如下程序...
2019-08-09 21:46:19
435
原创 C/C++define、assert、自增自减、类型转换相关认识
1.#与##在define中的作用1.0 宏定义中#运算符将其后面的参数转换成字符串;如下代码:#define TEST_1(x) cout << #x << endlint n = 100;TEST_1(n);输出如下:n输出的是字符串化后的n,而不是其他值;1.1 宏定义中##运算符将前后的参数进行字符串连接;测试代码和结果如下:...
2019-08-08 19:29:06
569
原创 malloc函数返回的居然是 常量指针!!!!!!!!
后知后觉,今天才发现原来malloc返回的地址的性质是“常量指针”。1.首先来看看平时的使用,一般如下int main(){ char * p = (char *)malloc(sizeof(char) * 2); p[0] = 'A'; p[1] = 'B'; printf("%c %c\n", p[0], p[1]); return 0;}mall...
2019-07-31 18:44:18
1855
7
原创 C++中使用new和malloc注意事项
1. new申请时会执行构造函数,而malloc仅仅申请空间不执行任何操作先测试如下带参数的构造函数:class Test{public: Test(int num) : _num(num) { std::cout << "Created Test with " << _num << endl; }private: int ...
2019-07-13 16:16:00
1951
原创 C/C++常量指针、指向常量的指针以及指向常量的常量指针区别
1.指向常量的指针const int num = 1;const int * p1 = # //指向常量指针:含义是不允许通过该指针对其所指对象进行写操作。2.常量指针int num = 1;int * const p2 = # //常量指针 :含义是该指针不允许移动(也即自增,自减等操作)2.指向常量的常量指针const int ...
2019-07-09 18:43:47
261
原创 Qt加载ROS环境 进行界面设计
环境是 ubuntu14.04 + qt 5.8 + ros(indigo)1.配置qt的启动文件 我的配置文件在这个路径sudo gedit ~/.local/share/applications/DigiaQtOpenSource-qtcreator.desktop 打开后的配置文件 [Desktop Entry]Type=ApplicationExec=bash ...
2018-03-17 11:17:04
2430
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人