自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 C++ 类内static 需要在类外初始化,是否违反了C++ RAII的原则?

不违反。类的静态成员,即使其生命周期长于主函数,但其仍能保证在任何情况(包括多线程环境)下,在使用对象前先调用构造函数构造对象、获取资源,在程序结束时调用析构函数析构对象、释放资源。所以这就是满足 RAII 了。补充“类的静态成员必须在类外初始化”这一语法是受继承自 C 的编译模型所限。在 C 的经典惯例中,头文件中只放声明(包括函数声明、extern 引导的外部变量声明等),不放实现(包括实现函数的函数体,以及变量的初始化等),而源文件中给出实现。每个源文件构成一个基本的编译单元,各个编译单元之间在编译时

2020-06-19 14:05:27 327

原创 c++函数默认参数,函数占位参数,函数重载,函数重载概述,函数重载注意事项

3函数提高3.1函数默认参数在c++中,函数的形参列表中的形参是可以有默认值语法:返回值类型 函数名 (参数= 默认值) {}示例:#include <iostream>using namespace std;//如果传入数据就是用传入值,如果没有传入数据,则使用默认值//语法: 返回值类型 函数名 (形参 = 默认值){}int func(int a, int b = 20, int c = 30){ return a + b + c;}//注意事项://

2020-06-19 14:02:21 179

原创 c++引用,引用的基本作用,引用注意事项,引用做函数参数,引用做函数返回值,引用的本质,常量引用

2引用2.1引用的基本使用**作用:**给变量起别名语法:数据类型 &别名 = 原名示例:#include <iostream>using namespace std;int main(){ int a = 10; int & b = a; cout << "a = " << a << endl; cout << "b = " << b << endl;

2020-06-19 14:00:36 301

原创 c++内存分区模型,程序运行前,程序运行后,new操作符

c++核心编程本阶段主要针对c++面向对象编程技术做详细讲解,探讨c++中的核心和精髓。1内存分区模型c++程序在执行时,将内存大方向划分为4个区域代码区:存放函数体的二进制代码,由操作系统进行管理的全局区:存放全局变量和静态变量以及常量栈区:由编译器自动分配释放,存放函数的参数值,局部变量等堆区:由程序员分配和释放,若程序员不释放,程序结束时有操作系统回收内存四区意义:不同区域存放的数据,赋予不同的生命周期,给我们更大的灵活编程1.1程序运行前​ 在程序编译后,生成了exe可执行

2020-06-19 13:59:19 242

原创 c++结构体案例2:设计一个英雄的结构体,包括成员姓名,年龄,性别;创建结构体数组,数组中存放5名英雄,通过冒泡排序的算法,将数组中的英雄按照年龄进行升序排序,最终打印排序后的结果

案例描述:设计一个英雄的结构体,包括成员姓名,年龄,性别;创建结构体数组,数组中存放5名英雄。通过冒泡排序的算法,将数组中的英雄按照年龄进行升序排序,最终打印排序后的结果。五名英雄信息如下: {"刘备",23,"男"}, {"关羽",22,"男"}, {"张飞",20,"男"}, {"赵云",21,"男"}, {"貂蝉",19,"女"}示例:#include <iostream>#include <strin

2020-06-16 20:28:35 1727 1

原创 c++结构体案例1:设计学生和老师的结构体,其中在老师的结构体中,有老师名字和一个存放5名学生的数组作为成员,学生的成员有名字、考试分数、创建数组存放3名老师,通过函数给每个老师及所带的学生赋值

案例描述:学校正在做毕设项目,每名老师带领5个学生,总共有3名老师,需求如下设计学生和老师的结构体,其中在老师的结构体中,有老师名字和一个存放5名学生的数组作为成员学生的成员有名字、考试分数、创建数组存放3名老师,通过函数给每个老师及所带的学生赋值最终打印出老师数据以及老师所带的学生数据示例:#include <iostream>#include <string>#include <ctime>using namespace std;//学生的结构

2020-06-16 20:24:30 956

原创 c++结构体,基本概念,定义和使用,结构体嵌套结构体,结构体做函数参数,结构体const使用场景

8结构体8.1结构体基本概念结构体属于用户自定义的数据类型,允许用户存储不同的数据类型8.2结构体定义和使用语法:struct 结构体名 { 结构体成员列表 };通过结构体创建变量的方式有三种:struct结构体名 变量名struct结构体名 变量名 = { 成员1值,成员2值… }定义结构体时顺便创建变量示例:#include <iostream>#include <string>using namespace std;//1、创建学生数据类型 :

2020-06-16 20:21:36 209

原创 ++指针的基本概念,指针变量的定义和使用,指针所占内存空间,空指针和野指针,const修饰指针,指针和数组,指针和函数,指针、数组、函数

7指针7.1指针的基本概念**指针的作用:**可以通过指针间接访问内存内存编号是从0开始记录的,一般用十六进制数字表示可以利用指针变量保存地址7.2指针变量的定义和使用指针变量定义语法:数字类型 * 变量名;实例:#include <iostream>using namespace std;int main() { //1、定义指针 int a = 10; //指针定义的语法:数据类型 * 指针变量名; int* p; //让指针记录变量a的地址 p =

2020-06-16 20:20:08 348

原创 c++函数,函数定义,函数调用,值传递,函数常见样式,函数声明

6函数6.1概述**作用:**将一段经常使用的代码封装起来,减少重复代码一个较大的程序,一般分为若干个程序块,每个模块实现也定的功能6.2函数的定义函数的定义一般主要有5个步骤:返回值类型函数名参数列表函数体语句return表达式语法:返回值类型 函数名 (参数列表){ 函数体语句 return表达式}返回值类型:一个函数可以返回一个值。在函数定义中函数名:给函数起个名称参数列表:使用该函数时,传入的数据函数体语句:花括号内的代码

2020-06-16 20:18:31 151

原创 c++打印通讯录管理系统

#include <iostream>#include <string>#define MAX 1000using namespace std;//设计联系人结构体struct Person{ //姓名 string m_Name; //性别 int m_Sex; //年龄 int m_Age; //电话 string m_Phone; //住址 string m_Addr;};//设计通讯录结构体struct Addres

2020-06-11 10:06:45 137

原创 c++水仙花数

#include <iostream>using namespace std;int main(){ int num = 100; do { int a = 0; int b = 0; int c = 0; a = num % 10; b = num / 10 % 10; c = num / 100; if (a*a*a + b*

2020-06-11 10:05:48 181

原创 c++打印乘法口诀

#include <iostream>using namespace std;int main(){ for (int i = 1; i <=9; i++) { //cout << i << endl; for (int j = 1; j <= i; j++) { cout << j << "*" << i << "=" &

2020-06-11 10:05:07 184

原创 c++一维数组,二维数组

5数组5.1概述所谓数组,就是一个集合,里面存放了相同类型的数据元素**特点1:**数组中的每个数据元素都是相同的数据类型**特点2:**数组是由连续的内存位置组成的5.2一维数组5.2.1一维数组定义方式一维数组的定义的三种方式数据类型 数组名[ 数组长度] ;数据类型 数组名[ 数组长度 ] = { 值1,值2 ...};数据类型 数组名[ ] = { 值1,值2 ...};实例:#include <iostream>using namespace std;

2020-06-08 20:25:30 176

原创 c++程序流程结构,选择结构,循环结构,跳转语句

4程序流程结构c/c++支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构循序结构:程序按顺序执行,不发生跳转选择结构:依据条件是否满足,有选择的执行相应的功能循环结构:依据条件是否满足,循环多次执行某段代码4.1选择结构4.1.1if语句作用:执行满足条件的语句if语句的三种形式单行格式if语句多行格式if语句多条件的if语句1.单行格式if语句:if(条件){条件满足执行的语句}实例:#include <iostream>using namesp

2020-06-08 20:23:57 231

原创 c++运算符,算术运算符,赋值运算符,比较运算符,逻辑运算符

3运算符作用:用于执行代码的运算运算符类型作用算数运算符用于处理四则运算赋值运算符用于将表达式的赋值给变量比较运算符用于表达式的比较,并返回一个真值或假值比较运算符用于根据表达式的返回值返回真值或假值3.1算术运算符作用:用于处理四则运算算术运算符包括以下符号:运算符术语示例结果+正号+33-负号-3-3+加10+515-减10-55*乘10*550/除10/

2020-06-08 20:22:06 250

原创 c++的数据类型整型浮点型字符型等

c++规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存2.1整型作用:整型变量表示的是整数类型的数据c++中能够表示整形的类型有以下几种方式,区别在于所占内存空间不同数据类型占用空间取值范围short(短整型)2字节(-2^15 ~ 2^15-1)int(整型)4字节(-2^21 ~ 2^31-1)long(长整型)Windows为4字节,Linux为4字节(32位),8字节(64位)(-2^31 ~ 2^31-1)

2020-06-05 18:53:25 649

原创 初识c++变量常量关键字

1初识c++1.1变量作用:给一段指定的内存空间起名,方便操作这段内存语法:数据类型 变量名 = 初始值;实例:#include <iostream>using namespace std;int main() { 数据类型 变量名 = 初始值; int sum = 10; cout << "sum=" << sum << endl; system("pause"); return 0;}1.2常量作用:用于记录程序中不

2020-06-05 15:52:28 1033

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除