-
C++引用作为函数参数
所属栏目:[语言] 日期:2023-06-06 热度:4600
在定义或声明函数时,我们可以将函数的形参指定为引用的形式,这样在调用函数时就会将实参和形参绑定在一起,让它们都指代同一份数据。如此一来,如果在函数体中修改了形参的数据,那么实参的数据也会被修改,从而拥[详细]
-
C++ string详解
所属栏目:[语言] 日期:2023-06-06 热度:2103
C++ 大大增强了对字符串的支持,除了可以使用C风格的字符串,还可以使用内置的 string 类。string 类处理起字符串来会方便很多,完全可以代替C语言中的字符数组或字符串指针。
使用 string 类需要包含头文件<stri[详细] -
C++ string字符串查找
所属栏目:[语言] 日期:2023-06-06 热度:4629
string 类提供了几个与字符串查找有关的函数,如下所示。
1) find() 函数
find() 函数用于在 string 字符串中查找子字符串出现的位置,它其中的两种原型为:
size_t find (const string& str, size_t pos = 0) [详细] -
C++ 提取子字符串
所属栏目:[语言] 日期:2023-06-06 热度:984
substr() 函数用于从 string 字符串中提取子字符串,它的原型为:
string substr (size_t pos = 0, size_t len = npos) const;
pos 为要提取的子字符串的起始下标,len 为要提取的子字符串的长度。
请看下面的[详细] -
C++string字符串的增删方法
所属栏目:[语言] 日期:2023-06-06 热度:6240
C++ 提供的 string 类包含了若干实用的成员函数,大大方便了字符串的增加、删除、更改、查询等操作。
一. 插入字符串
insert() 函数可以在 string 字符串中指定的位置插入另一个字符串,它的一种原型为:
str[详细] -
C++ class和struct有什么区别
所属栏目:[语言] 日期:2023-06-05 热度:6585
C++ 中保留了C语言的 struct 关键字,并且加以扩充。在C语言中,struct 只能包含成员变量,不能包含成员函数。而在C++中,struct 类似于 class,既可以包含成员变量,又可以包含成员函数。
C++ 没有抛弃C语言中的[详细] -
C++友元类
所属栏目:[语言] 日期:2023-06-05 热度:1202
不仅可以将一个函数声明为一个类的“朋友”,还可以将整个类声明为另一个类的“朋友”,这就是友元类。友元类中的所有成员函数都是另外一个类的友元函数。
例如将类 B 声明为类 A 的友元类,[详细] -
C++友元函数
所属栏目:[语言] 日期:2023-06-05 热度:5567
在当前类以外定义的、不属于当前类的函数也可以在类中声明,但要在前面加 friend 关键字,这样就构成了友元函数。友元函数可以是不属于任何类的非成员函数,也可以是其他类的成员函数。
友元函数可以访问当前类中[详细] -
C++ const对象介绍
所属栏目:[语言] 日期:2023-06-05 热度:9291
在 C++ 中,const 也可以用来修饰对象,称为常对象。一旦将对象定义为常对象之后,就只能调用类的 const 成员了。
定义常对象的语法和定义常量的语法类似:
const class object(params);
class const object([详细] -
const成员函数
所属栏目:[语言] 日期:2023-06-05 热度:7868
const 成员函数可以使用类中的所有成员变量,但是不能修改它们的值,这种措施主要还是为了保护数据而设置的。const 成员函数也称为常成员函数。
我们通常将 get 函数设置为常成员函数。读取成员变量的函数的名字通[详细] -
C++ static静态成员函数分析
所属栏目:[语言] 日期:2023-06-05 热度:4451
在类中,static 除了可以声明静态成员变量,还可以声明静态成员函数。普通成员函数可以访问所有成员(包括成员变量和成员函数),静态成员函数只能访问静态成员。
编译器在编译一个普通成员函数时,会隐式地增加一[详细] -
C++ static静态成员变量分析
所属栏目:[语言] 日期:2023-06-05 热度:5836
对象的内存中包含了成员变量,这使得不同对象的成员变量相互独立,它们的值不受其他对象的影响。例如有两个相同类型的对象 a、b,它们都有一个成员变量 m_name,那么修改 a.m_name 的值不会影响 b.m_name 的值。[详细]
-
C++ this指针分析
所属栏目:[语言] 日期:2023-06-05 热度:1575
this 是 C++ 中的一个关键字,也是一个 const 指针,它指向当前对象,通过它可以访问当前对象的所有成员。
所谓当前对象,是指正在使用的对象。例如对于stu.show();,stu 就是当前对象,this 就指向 stu。
下面[详细] -
C++析构函数的执行时机
所属栏目:[语言] 日期:2023-06-05 热度:7765
在所有函数之外创建的对象是全局对象,它和全局变量类似,位于内存分区中的全局数据区,程序在结束执行时会调用这些对象的析构函数。
在函数内部创建的对象是局部对象,它和局部变量类似,位于栈区,函数执行结束[详细] -
C++析构函数分析
所属栏目:[语言] 日期:2023-06-05 热度:2574
创建对象时系统会自动调用构造函数进行初始化工作,同样,销毁对象时系统也会自动调用一个函数来进行清理工作,例如释放分配的内存、关闭打开的文件等,这个函数就是析构函数。
析构函数(Destructor)也是一种特[详细] -
C++构造函数初始化列表
所属栏目:[语言] 日期:2023-06-02 热度:7082
构造函数的一项重要功能是对成员变量进行初始化,为了达到这个目的,可以在构造函数的函数体中对成员变量一一赋值,还可以采用初始化列表。
C++构造函数的初始化列表使得代码更加简洁,请看下面的例子:
#includ[详细] -
构造函数的重载
所属栏目:[语言] 日期:2023-06-02 热度:5962
和普通成员函数一样,构造函数是允许重载的。一个类可以有多个重载的构造函数,创建对象时根据传递的实参来判断调用哪一个构造函数。
构造函数的调用是强制性的,一旦在类中定义了构造函数,那么创建对象时就一定[详细] -
C++类的封装
所属栏目:[语言] 日期:2023-06-02 热度:5329
private 关键字的作用在于更好地隐藏类的内部实现,该向外暴露的接口(能通过对象访问的成员)都声明为 public,不希望外部知道、或者只在类内部使用的、或者对外部没有影响的成员,都建议声明为 private。
根据C[详细] -
C++类成员的访问权限
所属栏目:[语言] 日期:2023-06-02 热度:7475
C++通过 public、protected、private 三个关键字来控制成员变量和成员函数的访问权限,它们分别表示公有的、受保护的、私有的,被称为成员访问限定符。所谓访问权限,就是你能不能使用该类中的成员。
Java、C# 程[详细] -
在类体中和类体外定义成员函数的区别
所属栏目:[语言] 日期:2023-06-02 热度:8696
在类体中和类体外定义成员函数是有区别的:在类体中定义的成员函数会自动成为内联函数,在类体外定义的不会。当然,在类体内部定义的函数也可以加 inline 关键字,但这是多余的,因为类体内部定义的函数默认就是内联[详细]
-
C++类的定义
所属栏目:[语言] 日期:2023-06-02 热度:9553
类是用户自定义的类型,如果程序中要用到类,必须提前说明,或者使用已存在的类(别人写好的类、标准库中的类等),C++语法本身并不提供现成的类的名称、结构和内容。
一个简单的类的定义:
class Student{
pub[详细] -
C++函数重载介绍
所属栏目:[语言] 日期:2023-06-02 热度:3646
在实际开发中,有时候我们需要实现几个功能类似的函数,只是有些细节不同。例如希望交换两个变量的值,这两个变量有多种类型,可以是 int、float、char、bool 等,我们需要通过参数把变量的地址传入函数内部。在C语言[详细]
-
C++函数的默认参数分析
所属栏目:[语言] 日期:2023-06-02 热度:387
在C++中,定义函数时可以给形参指定一个默认的值,这样调用函数时如果没有给这个形参赋值(没有对应的实参),那么就使用这个默认的值。也就是说,调用函数时可以省略有默认值的参数。如果用户指定了参数的值,那么就[详细]
-
C++ inline内联函数介绍
所属栏目:[语言] 日期:2023-06-02 热度:5743
函数是一个可以重复使用的代码块,CPU 会一条一条地挨着执行其中的代码。CPU 在执行主调函数代码时如果遇到了被调函数,主调函数就会暂停,CPU 转而执行被调函数的代码;被调函数执行完毕后再返回到主调函数,主调函[详细]
-
C++ new和delete运算符介绍
所属栏目:[语言] 日期:2023-06-02 热度:2062
在C语言中,动态分配内存用 malloc() 函数,释放内存用 free() 函数。如下所示:
int *p = (int*) malloc( sizeof(int) * 10 ); //分配10个int型的内存空间
free(p); //释放内存
在C++中,这两个函数仍然可以[详细]