- 1、const成员变量 const 成员变量的用法和普通 const 变量的用法相似,只需要在声明时加上 const 关键字 const 成员函数可以使用类中的所有成员变量,但是不能修改它们的值,这种措施主要还是为了保护数据而设置的 2、const 成员函数也称为常成员函数。 常成员函数需要在声明和定义... 1、const成员变量 const 成员变量的用法和普通 const 变量的用法相似,只需要在声明时加上 const 关键字 const 成员函数可以使用类中的所有成员变量,但是不能修改它们的值,这种措施主要还是为了保护数据而设置的 2、const 成员函数也称为常成员函数。 常成员函数需要在声明和定义...
- java用迭代器只能往后迭代 但是C++可以往后迭代和往前迭代 1、C++Map往后迭代 map<int,int> amap; amap.insert(pair<int,int>(1,1)); amap.insert(pair<int.int>(2,2)); map<int,int>::iterator ... java用迭代器只能往后迭代 但是C++可以往后迭代和往前迭代 1、C++Map往后迭代 map<int,int> amap; amap.insert(pair<int,int>(1,1)); amap.insert(pair<int.int>(2,2)); map<int,int>::iterator ...
- 1 问题 我们的项目很多智能指针,但是我linux的终端肯定不支持C++11/14, 我们平时都是用的下面的命令编译c++文件 g++ -g file.cpp -o file r 如果是用c++11编译需要改成如下 g++ -g -Wall -std=c++11 file.cpp -o file 如果是用C++14编译需要改成如下 g++... 1 问题 我们的项目很多智能指针,但是我linux的终端肯定不支持C++11/14, 我们平时都是用的下面的命令编译c++文件 g++ -g file.cpp -o file r 如果是用c++11编译需要改成如下 g++ -g -Wall -std=c++11 file.cpp -o file 如果是用C++14编译需要改成如下 g++...
- 1 问题 求字符串的全排列,比如字符串abc,它的全排列如下 abc, acb, bac, bca, cad, cba 2 思路 我们先固定第一个字符,这里的第一个字符肯定是这个字符串里面字符串的全子集(不包含重复),abc字符串,我们a和a交换,这里也就是固定a字符的,然... 1 问题 求字符串的全排列,比如字符串abc,它的全排列如下 abc, acb, bac, bca, cad, cba 2 思路 我们先固定第一个字符,这里的第一个字符肯定是这个字符串里面字符串的全子集(不包含重复),abc字符串,我们a和a交换,这里也就是固定a字符的,然...
- 欢迎转载,但请标明作者 “九天雁翎”,当然,你给出这个帖子的链接更好。 不知不觉我都写了6讲了,的确这样讲出来的学习才能迫使我真的去调试每个书上出现的代码,去想些自己能讲出什么新的书上没有的东西,这才是真的学习吧,以前看完书,做道题式的就以为自己基本都掌握了,在类这里好像行不通,因为我的C基础不适合这里。。。。呵呵不说题外话了。这次讲析构函数,相对于构造... 欢迎转载,但请标明作者 “九天雁翎”,当然,你给出这个帖子的链接更好。 不知不觉我都写了6讲了,的确这样讲出来的学习才能迫使我真的去调试每个书上出现的代码,去想些自己能讲出什么新的书上没有的东西,这才是真的学习吧,以前看完书,做道题式的就以为自己基本都掌握了,在类这里好像行不通,因为我的C基础不适合这里。。。。呵呵不说题外话了。这次讲析构函数,相对于构造...
- 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程 1 智能指针std::shared_ptr相关知识和如何使用 我们这里先说下智能指针std::shared_ptr,因为我看到我我们项目c++代码里面用得很多,我不是不会,所以记录学习下 先让ubuntu终端支持c++11,如果自己的... 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程 1 智能指针std::shared_ptr相关知识和如何使用 我们这里先说下智能指针std::shared_ptr,因为我看到我我们项目c++代码里面用得很多,我不是不会,所以记录学习下 先让ubuntu终端支持c++11,如果自己的...
- 1、命名空间(namespace使用总结) C++中采用的是单一的全局变量命名空间。在这单一的空间中,如果有两个变量或函数的名字完全相同,就会出现冲突。当然,你也可以使用不同的名字,但有时我们并不知道另一个变量也使用完全相同的名字;有时为了程序的方便,必需使用同一名字,程序代码中也定义了相同名字的变量,这就会出现冲突。命名空间就是为解决C++中的变量、函数的命名冲突而服务... 1、命名空间(namespace使用总结) C++中采用的是单一的全局变量命名空间。在这单一的空间中,如果有两个变量或函数的名字完全相同,就会出现冲突。当然,你也可以使用不同的名字,但有时我们并不知道另一个变量也使用完全相同的名字;有时为了程序的方便,必需使用同一名字,程序代码中也定义了相同名字的变量,这就会出现冲突。命名空间就是为解决C++中的变量、函数的命名冲突而服务...
- 1、priority_queue介绍 priority_queue 是优先队列 模板声明带有三个参数,priority_queue<Type, Container, Functional> Type为数据类型,Container为保存数据的容器,Functional为元素比较方式 Container必须是用数组实现的容器,如... 1、priority_queue介绍 priority_queue 是优先队列 模板声明带有三个参数,priority_queue<Type, Container, Functional> Type为数据类型,Container为保存数据的容器,Functional为元素比较方式 Container必须是用数组实现的容器,如...
- Google Protocol Buffer(protobuf)是一种高效且格式可扩展的编码结构化数据的方法。和JSON不同,protobuf支持混合二进制数据,它还有先进的和可扩展的模式支持。protobuf已在大多数软件平台上实现,包括适用于Android的精简Java版。 http://developers.google.com/protocol-buffers/上有... Google Protocol Buffer(protobuf)是一种高效且格式可扩展的编码结构化数据的方法。和JSON不同,protobuf支持混合二进制数据,它还有先进的和可扩展的模式支持。protobuf已在大多数软件平台上实现,包括适用于Android的精简Java版。 http://developers.google.com/protocol-buffers/上有...
- 1、int* a=new int[5]需要判断内存是否分配成功,以及在不用时需要使用delete[] a进行内存释放; 2、如果不是a[5],而是a[5000000000]或者更大的话,那一般情况下,就只能使用int* a=new这种方式了。这个涉及到内存存放位置的问题,int a[]这种方式,内存是存放在栈上,比如我们函数的参数和局部变量内存也放在栈上;i... 1、int* a=new int[5]需要判断内存是否分配成功,以及在不用时需要使用delete[] a进行内存释放; 2、如果不是a[5],而是a[5000000000]或者更大的话,那一般情况下,就只能使用int* a=new这种方式了。这个涉及到内存存放位置的问题,int a[]这种方式,内存是存放在栈上,比如我们函数的参数和局部变量内存也放在栈上;i...
- C++的复习 1、命名空间 C++语言引入命名空间(Namespace)这一概念主要是为了避免命名冲突,其关键字为namespace。 科技发展到如今,一个系统通常都不会仅由一个人来开发完成,不同的人开发同一个系统,不可避免地会出现变量或函数的命名冲突,当所有人的代码测试通过,没有问题时,将所有人的代码结合到一起,因为变量或函数重名而导致的问题将会造成一定的混乱,例如: ... C++的复习 1、命名空间 C++语言引入命名空间(Namespace)这一概念主要是为了避免命名冲突,其关键字为namespace。 科技发展到如今,一个系统通常都不会仅由一个人来开发完成,不同的人开发同一个系统,不可避免地会出现变量或函数的命名冲突,当所有人的代码测试通过,没有问题时,将所有人的代码结合到一起,因为变量或函数重名而导致的问题将会造成一定的混乱,例如: ...
- 1、动态分配内存后释放了一次,再次释放 1)直接删除2次 int main(){ int *a = new int(50); cout<<*a<<endl; delete a; delete a; return 0;} 2)另外一个指针指向分配的内存,然后把这个2个指针都删除 int* p1 = new i... 1、动态分配内存后释放了一次,再次释放 1)直接删除2次 int main(){ int *a = new int(50); cout<<*a<<endl; delete a; delete a; return 0;} 2)另外一个指针指向分配的内存,然后把这个2个指针都删除 int* p1 = new i...
- C++类和new、delete操作符 在C++中,你可以像定义变量一样来创建对象,如: Student stu; //对象已被实例化,已分配内存空间,可以使用了 stu.say(); //调用成员函数 这种情况下,系统会在栈区为对象分配内存。栈区是内存中的一块区域,由系统自动分配和释放,程序员无法操控,一般用来存放函数的参数值... C++类和new、delete操作符 在C++中,你可以像定义变量一样来创建对象,如: Student stu; //对象已被实例化,已分配内存空间,可以使用了 stu.say(); //调用成员函数 这种情况下,系统会在栈区为对象分配内存。栈区是内存中的一块区域,由系统自动分配和释放,程序员无法操控,一般用来存放函数的参数值...
- C++构造函数 当创建一个对象时,往往需要做一些初始化工作,例如对数据成员赋值等。为了解决这个问题,C++提供了构造函数。 构造函数(Constructor)是一种特殊的成员函数,它的名字和类名相同,没有返回值,不需要用户调用(用户也不能调用),而是在创建对象时自动执行。构造函数的作用是在创建对象时进行初始化工作,最常见的就是对成员变量赋值。 ... C++构造函数 当创建一个对象时,往往需要做一些初始化工作,例如对数据成员赋值等。为了解决这个问题,C++提供了构造函数。 构造函数(Constructor)是一种特殊的成员函数,它的名字和类名相同,没有返回值,不需要用户调用(用户也不能调用),而是在创建对象时自动执行。构造函数的作用是在创建对象时进行初始化工作,最常见的就是对成员变量赋值。 ...
- 如果你是Java、C#、PHP程序员,那么会对 new 非常熟悉,在这些编程语言中,只能通过 new 来创建对象。 在C++中,你可以像定义变量一样来创建对象,如: Student stu; //对象已被实例化,已分配内存空间,可以使用了stu.say(); //调用成员函数 这种情况下,系统会在栈区为对象分配内存。栈区是内存中的一块区... 如果你是Java、C#、PHP程序员,那么会对 new 非常熟悉,在这些编程语言中,只能通过 new 来创建对象。 在C++中,你可以像定义变量一样来创建对象,如: Student stu; //对象已被实例化,已分配内存空间,可以使用了stu.say(); //调用成员函数 这种情况下,系统会在栈区为对象分配内存。栈区是内存中的一块区...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签