![](https://img-blog.csdnimg.cn/direct/c8c78569458342b5b2a70110fe799e5b.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C++初阶
文章平均质量分 95
细致的讲解C++的语法知识,并且实战练习。
龙猫不是一只猫
积少成多,厚积薄发
展开
-
string的模拟实现
【代码】string的模拟实现。原创 2024-03-17 18:36:11 · 1170 阅读 · 21 评论 -
STL库中的string
erase、insert和replace都需要挪动数据,效率比较低下,能不用最好不用,而且还需要扩容。pos代表的是插入的位置(字符数组的下标),str表示插入的字符串。capacity扩容时是根据字符串有效字符的个数进行扩容的,空间比较小的时候不需要动态内存的开辟,相当于_ptr浪费掉了。空间大的时候需要动态内存的开辟,相当于_buf浪费掉了。返回的都是字符串的长度,平常时我们一般都用size。这里的append有多种类型的接口,但是一般。这里的成员函数size表示的是字符串的大小。原创 2024-03-15 23:38:26 · 988 阅读 · 24 评论 -
C++类和对象
/ 类体:由成员函数和成员变量组成 };// 一定要注意后面的分号class为定义类的关键字,ClassName为类的名字{}中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。声明和定义全部放在类体中,需注意:成员函数如果在类中定义,编译器可能会将其当成内联函数处理。原创 2024-03-10 19:21:40 · 1136 阅读 · 9 评论 -
内联函数|auto关键字|范围for的语法|指针空值
使用auto修饰的变量,是具有自动存储器的局部变量,但遗憾的是一直没有人去使用它,大家可思考下为什么?C++11中,标准委员会赋予了auto全新的含义即:auto不再是一个存储类型指示符,而是作为一个新的类型指示符来指示编译器,auto声明的变量必须由编译器在编译时期推导而得return 10;auto b = a;//auto e;无法通过编译,使用auto定义变量时必须对其进行初始化return 0;【注意】原创 2024-03-08 23:06:16 · 1151 阅读 · 10 评论 -
C++入门知识点
打开反汇编,里面有VS识别不同的Add函数,不同的Add函数里面调用的内容不一样,编译器通过这个进行识别不同的类型(call是函数调用的意思)如下图,Add函数里面的a和b都叫缺省参数,里面的参数都被赋值,这个叫全缺省,并且主函数中调用Add函数可以不用传参数。在不同的命名空间域中,里面的函数名,变量名都可以一样,因为他们限定在不同的空间作用域互不影响,所以不会产生冲突。函数重载也就是函数可以相同,但是参数的个数,参数的类型必须不同,不然就是同名函数这点与C语言判断方式不一样。原创 2024-03-08 00:49:16 · 1138 阅读 · 4 评论