- 博客(15)
- 收藏
- 关注
原创 3.6 标准库 bitset 类型
3.5.1 bitset对象的定义和初始化类似于vector,bitset类是一种类模板;而于vector不一样的是bitset类型对象的区别仅在其长度而不是其类型。在定义bitset时,需明确bitset含有多少位,需在尖括号内给出它的长度值:bitset<32>bitvec;给出的长度值必须是常量表达式。正如这里给出的,长度值必须定义为整型字面值常量或是已用常量值初始化的整型的const对象。这条语句把bitvec定义为含有32个位的bitset对象。和vector的元素一样
2022-03-10 10:44:58
203
原创 3.4 迭代器
迭代器是一种检查容器内元素并遍历元素的数据类型1 容器的iterator类型每种容器类型都定义了自己的迭代器类型:如 vector:vector<int> :: iterator iter;这条语句定义了一个名为iter的变量,它的数据类型由vector<int>定义的iterator类型。...
2022-03-02 17:44:44
202
原创 标准库vector类型
vector 是同一种类型的对象的集合,每个对象都有一个对应的整数索引值。和string对象一样,标准库将负责管理与存储元素相关的内存。我们把vector称为容器,是因为他可以包含其他对象。一个容器中的所有对象必须是同一种类型。vector是一个类模板。使用模板可以编写一个类定义或函数定义,而用于多个不同的数据类型。因此,我们可以定义保存string对象的vector,或保存int值得vector,又或是保存自定义的类类型对象的vector。声明从类模板产生的某种类型的对象,需要提供附加信息,信
2022-03-02 11:04:19
245
原创 1 标准库
3.1命名空间的using声明std::cin。这些名字都用了::操作符,该操作符是作用域操作符。他的含义是右操作数的名字可以再左操作数的作用域中找到。因此,std::cin的意思是说所需名字cin实在命名空间std中定义的。显然,通过这种符号引用标准库名字的方式是非常麻烦的。使用using声明可以再不需要假钱准namespace-name::的情况下访问命名空间中的名字。using声明的形式如下:using namespace::name;一旦使用了using声明,我们就可以直接引用名
2022-03-01 17:45:53
635
原创 2.8 类类型
C++中,通过定义类来自定义数据类型。类定义了该类型的对象包含的数据和该类型的对象可以执行的操作。标准库类型string、istream和ostream都定义成类1 从操作开始设计类每个类都定义了一个接口(interface)和一个实现(implementation)。接口由使用该类的代码需要执行的操作组成。实现一般包括类所需要的数据。实现还包括定义该类需要的但又不供一般性使用的函数。定义类是,通常先定义该类的接口,即该类所提供的的操作。通过这些操作,可以决定该类完成其功能所需要的数据,以及是否
2022-03-01 13:23:52
107
原创 2.7 枚举
1 定义和初始化枚举枚举的定义包括关键则enum,气候是一个可选的枚举类型名,和一个用花括号括起来、用逗号分开的枚举成员列表。默认的,第一个枚举成员赋值为0,后面的每个枚举成员赋的值都比前面的大1.2 枚举成员是常量可以为一个或多个枚举成员提供初始值,用来初始化枚举成员的值必须是一个常量表达式。常量表达式是编译器在编译时就能够计算出结果的整型表达式。整型字面值常量是常量表达式,正如一个通过常量表达式自我初始化的const对象也是常量表达式一样。3 每个enum都定义一种唯一的类型每个
2022-02-28 13:30:07
104
原创 2.6typedef
typedef通常被用于以下三种目的:1 为了隐藏特定类型的实现,强调使用类型的目的。2 简化发咋的类型定义,使其更容易理解。3 允许一种类型用于多个目的,同事使得每次该类型的目的明确。...
2022-02-28 13:21:27
47
原创 什么是引用
引用就是一个别名;当声明一个引用时应该把它初始化为另一个对象名,也就是目标。从这时起,引用就成为目标的替代名,所有对引用的操作实际都是对目标的操作。声明引用的格式是:首先对目标对象的类型名,之后就是应用运算符(&)和引用名。引用可以使用任何合法的变量名,但是许多程序员愿意使用“r”开头的引用名。如果对引用进行取地址运算,它返回的值是目标的地址。这是自然的,因为引用是目标的别名。引用不能被重新赋值。任何对象都可以被引用,包括用户定义的对象。空指针和空引用:在指针没有初始化或进行删除
2021-12-17 16:57:43
2218
原创 访问数据成员
每一个类的成员函数都有一个隐藏的参数;this指针。this指针指向每一个单独的对象。因此,每一次调用GetAge()函数或SetAge()函数,指向特定对象的this指针都作为隐含的参数。
2021-12-01 11:16:13
458
原创 C++指针
指针式储存变量的地址。在指针中储存地址每个变量都有自己的地址。即使不知道所给的变量的地址,你也能够在之阵中储存该地址。例如:int *pAge = 0;这条语句生命pAge是一个只想整型量的指针。也就是说,pAge被声明为保存一个整型量的地址。注意pAge是一个变量。当你声明整型变量int型时,它被设置成保存整型量。在这个例子中pAge被初始化为0,值为0的指针我们称之为空指针。所有的指针在定义时都应该初始化。如果你不知道自己想给指针赋什么值,那就赋为0。没有初始化的指针我们称之为失
2021-11-22 17:06:24
454
原创 成员函数const
如果将一个类方法生命为const,则必须保证该方法不会改变该类任何一个成员变量的值。把类方法声明为常量,需在函数声明的括号之后分号之前放置关键字const,常量成员函数SomeFunction()的声明没有参数,返回空值:void SomeFunction ()const;我们在何处放置类声明和方法定义你为类声明的每个函数都必须有一个定义。这个定义也称函数的实现。与其他函数一样,类方法的定义也由一个函数头和函数体组成。定义必须位于一个编译器能找到的文件中。大多数C++编译器希望该文件已.c或.c
2021-11-22 16:19:45
322
原创 构造函数和析构函数
初始化把变量的定义和赋初值结合起来。以后你可以随意改变这个值。初始化使变量总有一个有意义的值。那么,怎样初始化类的成员数据呢?类有一个特殊的成员函数,成为构造函数。构造函数可以根据需要带有参数,但不能有返回值——甚至连返回空值都不行。构造函数是一个与类同名的类方法。在你声明构造函数的同时,还需要声明需要一个析构函数。构造函数创建并初始化类的对象;析构函数在对象被撤销后清除并释放所分配的内存。析构函数也必须与类同名,其前面有一个波浪号“~”。析构函数没有参数,没有返回值。因此,Cat类的析构函数声明如
2021-11-22 15:40:23
316
原创 GIT命令大全(随时更)
git config用法:git config-global user.name"name"git config -global user.email"email address"该命令将分别设置提交代码的用户名和电子邮件地址git int用法:git init[repository name]该命令用于创建一个新的代码库git clone用法:git clone [url]该命令可用于通过设定的URL获取一个代码库git add用法:git add [fi...
2021-11-05 17:35:50
97
原创 私有和公有
除class外,在类声明中还使用了其他关键字,其中最重要的两个是public和private。一个类的所有成员——数据和方法——默认时均为私有。
2021-11-04 11:25:45
156
原创 C++声明一个类
要声明一个类,使用关键字class,后跟一个{号,然后列出数据成员和该类的方法。声明结尾用过一个}和一个分号。class Cat{unsigned int itsAge;unsigned int itsWeight;void Meow();};声明这个类并没有为Cat分配内存。它只是告诉编译器:Cat是什么,他包含什么数据(itsAge和itsWeight),功能是什么(Meow())、同时他还告诉编译器Cat多大,也就是说,编译器对于你创建的每个Cat必须留出多大内存空间。在这个.
2021-11-03 13:18:58
2139
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人