编译器为class A{}生成的函数 1 class A 2 { 3 public: 4 A(); //缺省构造函数 5 A(const A&rhs); //拷贝构造函数 6 ~A(); //析构函数 7 A& operator=(const A&rhs); //赋值运算符 8 A* operato ...
分类:
编程语言 时间:
2021-06-02 18:11:51
阅读次数:
0
在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式。 1.c_str是一个内容为字符串指向字符数组的临时指针; 2.c_str返回的是一个可读不可改的常指针; 注意:一定要使用strcpy()函数 等来操作方法c_str() ...
分类:
其他好文 时间:
2020-11-12 13:29:34
阅读次数:
6
1.常变量,即const对象 const int a; //a中的值不可变 const int * b; //b所指的对象的值不可变,但是b的值可变 2.常指针,即const指针 int* const c; //c是一个常量指针 3.既是常变量还是常指针 const int* const a;//指 ...
分类:
其他好文 时间:
2020-05-02 14:41:30
阅读次数:
78
c++中const使用分类 常变量: const 类型说明符 变量名 常引用: const 类型说明符 &引用名 常对象: 类名 const 对象名 常成员函数: 类名::fun(形参) const 常数组: 类型说明符 const 数组名[大小] 常指针: const 类型说明符* 指针名 ,类型 ...
分类:
编程语言 时间:
2019-11-24 17:26:19
阅读次数:
86
1.判断一个单链表是否有环 借助STL里的 set ,java里用hashset是一样的,不需要排序,碰到重复key说明有环。 不借助set也可以通过另一种方式: 一个正常指针一次走一个,一个快指针一次走两个。 如果链表有环,快指针一定会和慢指针相遇,相遇的时候,把快指针扔回头结点,然后两个指针都每 ...
分类:
其他好文 时间:
2019-02-01 23:02:01
阅读次数:
196
一、为什么使用智能指针?智能指针的原理? C/C++中的堆内存分配和释放的方式主要是: malloc/free 以及 new/delete 等。 使用new 和delete 管理内存存在三个常见问题: 1.忘记delete(释放) 内存,或者异常导致程序过早退出,没有执行 delete。忘记释放动态 ...
分类:
编程语言 时间:
2018-12-18 18:00:23
阅读次数:
300
const int * a和int const *a一样,定义时不是必须初始化,指针可以指向其他变量,但是指向的变量的值不能修改。 int * const定义时必须初始化,即必须指明指向哪个变量,定义后就不能再指向其他变量,但是指针指向的变量的值可以被修改。 ...
分类:
其他好文 时间:
2018-10-10 01:06:43
阅读次数:
247
1. 引用的深入理解 ① 在C++中增加了引用的概念: * 引用可以看做一个已定义的变量的别名 * 引用的语法:Type& name = var; ② 引用在C++中的内部实现是一个常指针 Type& name <==> Type* const name C++编译器在编译过程中使用常指针作为引用的 ...
分类:
编程语言 时间:
2018-07-08 10:38:26
阅读次数:
118
今天回家路上,在一篇博客中发现了这么一个问题: 请解释下面的声明代表的含义。 然后后面有解释如下: 前两个的作用是一样,a是一个常整型数。第三个意味着a是一个指向常整型数的指针(也就是,整型数是不可修改的,但指针可以)。第四个意思a是一个指向整型数的常指针(也就是说,指针指向的整型数是可以修改的,但 ...
分类:
其他好文 时间:
2018-07-06 01:26:51
阅读次数:
171
?: 1. 引用reference的本质: 常指针 ——> 什么时候用指针?= 就按Java中的引用变量那样用? ——> 什么时候用引用? ①函数的入参/返回值时 ②T& p 为什么不直接用T* const p ? 2. jack-compiler的parser思路有点乱,陆续碰到好几个模糊的问题。 ...
分类:
其他好文 时间:
2018-06-16 20:34:07
阅读次数:
200