
学习C++
文章平均质量分 96
Shimir
学习ヾ(◍°∇°◍)ノ゙
展开
-
阅读string类文档:类的声明 -成员类型 -成员函数 -迭代器 -容量 -元素访问 -修饰符 -字符串操作 -成员常量 -非成员函数重载
● string类是管理字符的顺序表,字符串是表示字符序列的类。● 该类的接口与常规容器的接口基本相同,再添加了一些专门用来操作string的常规操作。● 通过图一,我们可以看到typedef basic_string string; ,string 类是 basic_string 类模板的实例化,string在底层实际是basic_string模板类的别名。● 不能操作多字节(在某些编码系统(如UTF-8)中,一个字符可能由多个字节组成。对于这样的字符,如果字符串操作不当,可能会导致字原创 2024-06-19 08:45:00 · 1692 阅读 · 0 评论 -
再探构造函数-Static成员-友元-内部类-匿名对象
再探构造函数-Static成员-友元-内部类-匿名对象当对象在创建时获得了一个特定的值,我们说这个对象被初始化(initialized)了。用于初始化变量的值可以是任意复杂的表达式。当一次定义了两个或多个变量时,对象的名字随着定义也就马上可以使用了。因此在同一条定义语句中,可以用先定义的变量值去初始化后定义的其他变量。声明为static的类成员称为类的静态成员,用static修饰的成员变量,称之为静态成员变量;用static修饰的成员函数,称之为静态成员函数。静态成员变量一定要在类外进行初始化。原创 2024-05-14 13:15:56 · 854 阅读 · 0 评论 -
类的6个默认成员函数:构造函数-析构函数-拷贝构造函数-赋值运算符重载-const成员函数-取地址及const取地址操作符重载
如果一个类中什么成员都没有,简称为空类。空类中真的什么都没有吗?并不是,任何类在什么都不写时,编译器会自动生成以下6个默认成员函数。默认成员函数:用户没有显式实现,编译器会生成的成员函数称为默认成员函数。每个类都分别定义了它的对象被初始化的方式,类通过一个或几个特殊的成员函数来控制其对象的初始化过程,这些函数叫做构造函数(constructor)。构造函数的任务是初始化类对象的数据成员,无论何时只要类的对象被创建,就会执行构造函数。全缺省参数的声明和定义分离时。定义一个日期类Date:对于Date类,可原创 2024-05-14 13:15:20 · 663 阅读 · 0 评论 -
类与对象:实例化,类的概念,访问限定符,封装,作用域,类对象模型,this指针
在C++中,我们通过定义一个类(class) 来定义自己的数据结构。一个类定义了一个类型,以及与其关联的一组操作。类机制是C++最重要的特性之一。实际上,C++最初的一个设计焦点就是能定义使用上像内置类型(内置类型(built-in type) 由语言定义的类型,如int)一样自然的类类型(class type)。C语言结构体中只能定义变量,在C++中,结构体内不仅可以定义变量,也可以定义函数。比如:之前在数据结构初阶中,用C语言方式实现的栈,结构体中只能定义变量;原创 2024-05-04 12:30:21 · 872 阅读 · 0 评论 -
C++引用&(引用做参数,返回值;传值,传引用做函数参数或返回值类型)-内联函数( inline 修饰的函数,替换宏)-auto关键字(自动推算变量类型)
使用auto修饰的变量,是具有自动存储器的局部变量auto不再是一个存储类型指示符,而是作为个新的类型指示符来指示编译器,auto声明的变量必须由编译器在编译时期推导而得。return 10;auto b = a;// typeid可以看变量的类型//auto e;无法通过编译,使用auto定义变量时必须对其进行初始化return 0;[注意]原创 2024-05-04 12:28:58 · 1280 阅读 · 0 评论 -
C++的初步知识——命名空间,缺省参数,重载函数
命名空间中可以定义什么?// 1. 正常的命名空间定义// 命名空间中可以定义变量/函数/类型int val;//2. 命名空间可以嵌套int a;int b;int c;int d;//3. 同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中。// ps:一个工程中的test.h和上面test.cpp中两个N1会被合并成一个// test.h注意:一个命名空间就定义了一个新的作用域,命名空间中的所有内容都局限于该命名空间中。原创 2024-04-21 18:28:34 · 1014 阅读 · 0 评论