
C++/基础语法
文章平均质量分 62
C++/基础语法
u013250861
这个作者很懒,什么都没留下…
展开
-
C++:C++对C语言增强
C++对C语言增强原创 2024-07-20 14:07:09 · 227 阅读 · 0 评论 -
对比ProtoBuf、JSON的序列化和反序列化能力
小结:1. XML、JSON、 ProtoBuf 都具有数据结构化和数据序列化的能力。2. XML、JSON更注重数据结构化,关注可读性和语义表达能力。ProtoBuf 更注重数据序列化,关注效率、空间、速度,可读性差,语义表达能力不足,为保证极致的效率,会舍弃一部分元信息。3. ProtoBuf 的应用场景更为明确,XML、JSON的应用场景更为丰富。对比ProtoBuf和JSON的序列化和反序列化能力_protobuf和json区别-优快云博客。原创 2024-05-29 01:10:27 · 1223 阅读 · 0 评论 -
C++基础语法(一):C++语言概述【面向对象编程(OOP)三大特性:封装、继承、多态】
“c++”中的++来自于c语言中的递增运算符++,该运算符将变量加1。c++起初也叫”c with clsss”.通过名称表明,c++是对C的扩展,因此c++是c语言的超集,这意味着任何有效的c程序都是有效的c++程序。c++程序可以使用已有的c程序库。c++语言在c语言的基础上添加了面向对象编程和泛型编程的支持。c++继承了c语言高效,简洁,快速和可移植的传统。c++融合了3种不同的编程方式:c语言和c++语言的关系:C++语言是在C语言的基础上,添加了面向对象、模板等现代程序设计语言的特性而发展起来的。原创 2022-06-06 23:14:57 · 257 阅读 · 0 评论 -
C++基础语法(二)-C++对C的扩展:【命名空间】【引用(reference):引用就是起别名 (引用:int &b = a)(取地址:int b = &a)】、【函数重载(overload)】
通常情况下,如果有两个同名变量,一个是全局变量,另一个是局部变量,那么局部变量在其作用域内具有较高的优先权,它将屏蔽全局变量。程序的输出结果是a:20。在test函数的输出语句中,使用的变量a是test函数内定义的局部变量,因此输出的结果为局部变量a的值。作用域运算符可以用来解决局部变量与全局变量的重名问题这个例子可以看出,作用域运算符可以用来解决局部变量与全局变量的重名问题,即在局部变量的作用域内,可用::对被屏蔽的同名的全局变量进行访问。创建名字是程序设计过程中一项最基本的活动,当一个项目很大时,它原创 2022-06-06 23:24:41 · 130 阅读 · 0 评论 -
C++基础语法(三):类和对象【struct和class的区别:struct默认访问权限为public;class默认访问权限为private】【用new创建的对象,要用delete销毁】
c语言struct只有变量 c++语言struct 既有变量,也有函数我们编写程序的目的是为了解决现实中的问题,而这些问题的构成都是由各种事物组成,我们在计算机中要解决这种问题,首先要做就是要将这个问题的参与者:事和物抽象到计算机程序中,也就是用程序语言表示现实的事物。那么现在问题是如何用程序语言来表示现实事物?现实世界的事物所具有的共性就是每个事物都具有自身的属性,一些自身具有的行为,所以如果我们能把事物的属性和行为表示出来,那么就可以抽象出来这个事物。比如我们要表示人这个对象,在C语言中,我们可以原创 2022-06-07 00:08:38 · 438 阅读 · 0 评论 -
C++基础语法(四):C++模板
c++提供了函数模板(function template.)所谓函数模板,实际上是建立一个通用函数,其函数类型和形参类型不具体制定,用一个虚拟的类型来代表。这个通用函数就成为函数模板。凡是函数体相同的函数都可以用这个模板代替,不必定义多个函数,只需在模板中定义一次即可。在调用函数时系统会根据实参的类型来取代模板中的虚拟类型,从而实现不同函数的功能。总结:用模板是为了实现泛型,可以减轻编程的工作量,增强函数的重用性。使用函数模板实现对char和int类型数组进行排序?三、函数模板和普通函数区别 函数模原创 2022-06-10 23:19:44 · 125 阅读 · 0 评论 -
C++基础语法(五):C++类型转换【静态转换(static_cast)、动态转换(dynamic_cast)、常量转换(const_cast)】
类型转换(cast)是将一种数据类型转换成另一种数据类型。例如,如果将一个整型值赋给一个浮点类型的变量,编译器会暗地里将其转换成浮点类型。转换是非常有用的,但是它也会带来一些问题,比如在转换指针时,我们很可能将其转换成一个比它更大的类型,但这可能会破坏其他的数据。应该小心类型转换,因为转换也就相当于对编译器说:忘记类型检查,把它看做其他的类型。一般情况下,尽量少的去使用类型转换,除非用来解决非常特殊的问题。标准c++提供了一个显示的转换的语法,来替代旧的C风格的类型转换。使用C风格的强制转换可以把想要的任何原创 2022-06-10 23:26:22 · 1124 阅读 · 0 评论 -
C++基础语法(六):C++异常
Bjarne Stroustrup说:提供异常的基本目的就是为了处理上面的问题。基本思想是:让一个函数在发现了自己无法处理的错误时抛出(throw)一个异常,然后它的(直接或者间接)调用者能够处理这个问题。也就是《C++ primer》中说的:将问题检测和问题处理相分离。一种思想:在所有支持异常处理的编程语言中(例如java),要认识到的一个思想:在异常处理过程中,由问题检测代码可以抛出一个对象给问题处理代码,通过这个对象的类型和内容,实际上完成了两个部分的通信,通信的内容是“出现了什么错误”。当然,各种语原创 2022-06-10 23:42:36 · 301 阅读 · 0 评论 -
C++基础语法(七):输入流、输出流、文件读写【文件输出流:ofstream fr; fr.open(“f1.dat“,ios::out);】【文件输入流:ifstream fw;】
程序的输入指的是从输入文件将数据传送给程序,程序的输出指的是从程序将数据传送给输出文件。C++输入输出包含以下三个方面的内容:C++编译系统提供了用于输入输出的iostream类库。iostream这个单词是由3个部 分组成的,即i-o-stream,意为输入输出流。在iostream类库中包含许多用于输入输出的 类。常用的见表ios是抽象基类,由它派生出istream类和ostream类,两个类名中第1个字母i和o分别代表输入(input)和输出(output)。 istream类支持输入操作,ost原创 2022-06-10 23:45:56 · 604 阅读 · 1 评论 -
C++常用算法(一):遍历【for_each:遍历容器元素】【transform:将指定容器区间元素搬运到另一容器中】
算法主要是由头文件 组成。是所有STL头文件中最大的一个,其中常用的功能涉及到比较,交换,查找,遍历,复制,修改,反转,排序,合并等…体积很小,只包括在几个序列容器上进行的简单运算的模板函数. 定义了一些模板类,用以声明函数对象。........................原创 2022-06-11 22:47:02 · 286 阅读 · 0 评论 -
C++常用算法(二):查找【find:查找元素;find_if:条件查找;adjacent_find:查找相邻重复元素;binary_search:二分查找;count:统计元素频次】
算法主要是由头文件 组成。是所有STL头文件中最大的一个,其中常用的功能涉及到比较,交换,查找,遍历,复制,修改,反转,排序,合并等…体积很小,只包括在几个序列容器上进行的简单运算的模板函数. 定义了一些模板类,用以声明函数对象。...原创 2022-06-12 11:33:07 · 363 阅读 · 0 评论 -
C++常用算法(三):排序【merge:容器元素合并后存储到另一容器】【sort:容器元素排序】【random_shuffle: 对指定范围内的元素随机调整次序】【reverse:反转指定范围的元素】
算法主要是由头文件 组成。是所有STL头文件中最大的一个,其中常用的功能涉及到比较,交换,查找,遍历,复制,修改,反转,排序,合并等…体积很小,只包括在几个序列容器上进行的简单运算的模板函数. 定义了一些模板类,用以声明函数对象。...原创 2022-06-12 11:37:57 · 215 阅读 · 0 评论 -
C++常用算法(四):拷贝、替换【copy:将容器内指定范围元素拷贝到另一容器】【replace:将容器内指定范围的旧元素修改为新元素】【replace_if:条件替换】【swap:互换两容器的元素】
算法主要是由头文件 组成。是所有STL头文件中最大的一个,其中常用的功能涉及到比较,交换,查找,遍历,复制,修改,反转,排序,合并等…体积很小,只包括在几个序列容器上进行的简单运算的模板函数. 定义了一些模板类,用以声明函数对象。...原创 2022-06-12 11:42:00 · 538 阅读 · 0 评论 -
C++常用算法(五):生成【accumulate:计算容器元素累计总和】【fill:向容器中添加元素】
算法主要是由头文件 组成。是所有STL头文件中最大的一个,其中常用的功能涉及到比较,交换,查找,遍历,复制,修改,反转,排序,合并等…体积很小,只包括在几个序列容器上进行的简单运算的模板函数. 定义了一些模板类,用以声明函数对象。...原创 2022-06-12 11:45:09 · 512 阅读 · 0 评论 -
C++常用算法(六):集合【set_intersection:求两个set集合的交集】【set_union:求两个set集合的并集】【set_difference:求两个set集合的差集】
算法主要是由头文件 组成。是所有STL头文件中最大的一个,其中常用的功能涉及到比较,交换,查找,遍历,复制,修改,反转,排序,合并等…体积很小,只包括在几个序列容器上进行的简单运算的模板函数. 定义了一些模板类,用以声明函数对象。...原创 2022-06-12 11:48:43 · 1070 阅读 · 0 评论