随笔分类 - C++学习
摘要:一、什么是实例化和具体化? 为进一步了解模板,必须理解术语实例化和具体化。 (1)、实例化:在程序中的函数模板本身并不会生成函数定义,它只是一个用于生成函数定义的方案。编译器使用模板为特定类型生成函数定义时,得到的是模板实例。这即是函数模板的实例化。而函数模板实例化又分为两种类型:隐式实例化和显式实
阅读全文
摘要:Inline函数特征: 相当于把内联函数里面的内容写在调用内联函数处; 相当于不用执行进入函数的步骤,直接执行函数体; 相当于宏,却比宏多了类型检查,真正具有函数特性; 编译器一般不内联包含循环、递归、switch 等复杂操作的内联函数; 在类声明中定义的函数,除了虚函数的其他函数都会自动隐式地当成
阅读全文
摘要:需要注意的问题(当数据成员函数指针型变量,需要申请空间赋值时) 1.构造函数 ①需要给空指针申请一个‘\0’的空间 2.拷贝构造函数 ①传入的参数,必须引用传递否则会出现无休止的拷贝构造 ②对其参数值不做修改,传入的参数需要加const ③避免浅拷贝的产生,每次拷贝构造,都重新申请空间赋值。 3.赋
阅读全文
摘要:Lambda表达式(可以理解为一个函数对象,调用时重载了“()”) 定义:一个匿名函数,通过不同[capture]来捕获上下文的变量,进行处理的函数 格式:[capture] (params) mutable -> return-type {} 参数介绍: [capture]: (params) m
阅读全文
摘要:按字面意思,通俗地说。以赋值符号 = 为界,= 左边的就是左值,= 右边就是右值。 比如:(1) int b = 3; (2) int a = b;第(2)行代码,a为左值,b为右值。 变量名编译之后,会映射成内存地址。看看a = b的含义。其实就是 将 "b地址内存里面的数据",放到"a地址内存"
阅读全文
摘要:移动构造函数应用的场景???? 答:有时候我们会遇到这样一种情况,我们用对象a初始化对象b,后对象a我们就不在使用了,但是对象a的空间还在呀(在析构之前),既然拷贝构造函数,实际上就是把a对象的内容复制一份到b中,那么为什么我们不能直接使用a的空间呢?这样就避免了新的空间的分配,大大降低了构造的成本
阅读全文
摘要:在C++中,我们常会遇到三种new的形式:operator new 、new operator 、placement new ①new operator (new操作符):①申请空间 ②创建对象 图示步骤: ②operator new (操作符new): 申请空间 ③placement new (定
阅读全文
摘要:虚函数:实现多态的机制,多态就是用父类型的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。让父类的指针有“多种形态”,一种泛型技术。 关键字:virtual 虚函数表:此表中,主要是一个类的虚函数的地址表,这张表解决了继承、覆盖的问题,保证其内容真实反映实际的情况。 在C++标准规格
阅读全文
摘要:1.成员函数被重载的特征: ①相同的范围(在同一个类中) ②函数名字相同 ③参数不同 ④virtual关键字可有可无。 2.覆盖指派生类函数覆盖基类函数,特征: ①不同的范围(分别位于派生类与基类) ②函数名字相同 ③参数相同 ④基类函数必须有virtual关键字 3.隐藏指派生类屏蔽了与其同名的基
阅读全文
摘要:今天我将分享socket编程,在这条路上的坑,我还能剩多少了! 之前再linux系统下进行学习,今天尝试再window下进行编程; 区别:后者需要在进行socket编程,加载socket链接库。 server端: 坑1:在服务端,我们需要两个SOCKET对象(sockSer和sockCli),前者用
阅读全文
摘要:在C++中,我们常用到的一些关于流操纵算子,来对我们程序中的输出结果进行格式化的输出。 程序如下: 运行结果:
阅读全文
摘要:今天我们来谈论scope_ptr(局部智能指针),我们将与auto进行区别式进行阐述: 1.scope_ptr和auto_ptr类似,能够非常方便正确的删除创建的的对象。 2.scope_ptr在获取对象所指空间的控制权后,是不能将本空间的控制权在交由他人管理。这是与auto_ptr的区别。 3.s
阅读全文
摘要:在一个类中, 函数返回“值类型”:在执行=(赋值)时,在内存中会出现临时对象,由临时对象执行=(赋值操作)。 函数返回“引用类型”:在执行=(赋值)时,而不会出现临时对象情况,只对数据进行了拷贝。
阅读全文
摘要:在这里我们讨论的是auto_ptr。在这里我们可以用两个词来表示vc版和vs版的不同: 藕断丝连(vs版:一个对象对一个空间没有操作权限后,但是还可以访问此空间的数据)。 一刀两断(vs版:一个指针在将自己所指向的空间转接其他指针后,则自己就释放了,不能再通过此指针访问数据)。 vc版: 智能指针对
阅读全文
摘要:了解const,我们通过一个故事来理解一下,甲某一天死期存储一笔钱(本金),到了死期时间过了,甲的本金没有发生变化,但他可以去任何一个银联银行进行取款(const int *p)。乙某一天借给了同学丙100元,而乙只能向同学丙要钱,钱数随同学手头资金还取(int * const p)。 const:
阅读全文
摘要:深拷贝与浅拷贝。我们可以通过一个故事来了解一下:甲有一本漫画很好看,这时乙也想看。第一种情况,甲将书借给了乙(浅拷贝:资源重复利用了);第二种情况,甲因自己还没看完,没有借给乙,乙就自己重新买了一本(深拷贝:重新弄一个相同的)。 在这里,我会从构造函数,拷贝构造函数、=(赋值)重载、析构函数进行深究
阅读全文

浙公网安备 33010602011771号