随笔分类 -  C/C++

C与C++的学习
摘要:优先级 操作符 描述 结合性 1 :: 作用域解析 从左到右 2 ++ -- ( ) [ ] . −> 后缀自增、自减 函数调用 数组下标 通过引用选择成员 通过指针选择成员 3 ++ -- + − ! ~ (type) * & sizeof new new[ ] delete delete[ ] 阅读全文
posted @ 2018-08-07 14:29 impluse 阅读(717) 评论(0) 推荐(0) 编辑
摘要:第 1 类: 普通类A的 普通类B 友元(一对一友好关系): 无需前置声明class B,当class B第一次出现在friend声明中时,该名字被隐式地认为可见。 第 2 类: 普通类A的 实例化了的模板类B 友元(一对一友好关系): 如果普通类A的友元是一个实例化了的特定模板,那么这个具体实例化 阅读全文
posted @ 2018-07-11 15:55 impluse 阅读(830) 评论(0) 推荐(0) 编辑
摘要:一:什么是rpc rpc通俗来理解就是远程调用函数,相对于本地调用来说,只需要在主调函数中调用被掉函数即可,代码如下: 在上面的代码中,main( )函数在第10行调用了本地函数fun( ),本地调用就是这么简单。如果要远程调用一个函数,那么就需要进行网络通信,网络通信就涉及到了网络编程,网络编程中 阅读全文
posted @ 2017-12-13 09:55 impluse 阅读(3392) 评论(0) 推荐(0) 编辑
摘要:cnblogs 阅读全文
posted @ 2017-07-13 22:44 impluse 阅读(333) 评论(0) 推荐(0) 编辑
摘要:C++小实验测试:下面程序中main函数里a.a和b.b的输出值是多少? #include <iostream> struct foo { foo() = default; int a; }; struct bar { bar(); int b; }; bar::bar() = default; i 阅读全文
posted @ 2017-06-28 11:18 impluse 阅读(8424) 评论(0) 推荐(6) 编辑
摘要:C++是一种通用型语言,其设计者希望它能处理各种各样的问题,因此除了一些能适用于所有问题的语言特性,还有一些适用于特定问题的特性。 控制内存分配 某些程序对内存分配有着特殊的需求,它们不适合使用标准的内存管理机制。它们需要自定义内存分配细节,比如使用new将对象放在特定的内存空间中,为了实现这一目的 阅读全文
posted @ 2016-10-25 23:06 impluse 阅读(215) 评论(0) 推荐(0) 编辑
摘要:C++大规模程序设计至少存在三个特殊要求: 错误处理 库的引入 复杂建模 以上三种对应C++语言的三种特性:异常处理、命名空间、多重继承。 异常处理 异常处理机制是一种允许偷懒的工具,在出现非正确的情况时,进行错误之间的协作处理。异常使得问题检测和解决过程分离开来。程序的一部分检测问题,另一个部分专 阅读全文
posted @ 2016-10-25 23:05 impluse 阅读(307) 评论(0) 推荐(0) 编辑
摘要:C++新标准库提供了很多新功能,它们更加强大和易用。 tuple类型 tuple是一种类似pair的模板,pair可以用来保存一对逻辑上有关联的元素对。但与pair不同的是,pair只能存储两个成员,而tuple则对成员数量没有限制。虽然tuple可以存储任意多个元素,但一个具体的tuple一次只能 阅读全文
posted @ 2016-10-17 09:45 impluse 阅读(175) 评论(0) 推荐(0) 编辑
摘要:模板是C++中泛型编程的基础,一个模板就是创建一个类或者函数的蓝图或者说公式。 C++模板分为函数模板和类模板。C++根据调用模板时传入的具体类型来生成相应类型的具体函数或者类。 类模板则可以是整个类是个模板,类的某个成员函数是个模板,以及类本身和成员函数分别是不同的模板。 1.函数模板 函数模板以 阅读全文
posted @ 2016-10-17 09:44 impluse 阅读(516) 评论(0) 推荐(0) 编辑
摘要:面向对象程序设计的核心思想是:数据抽象、继承和动态绑定。 数据抽象:将类的接口与实现分离; 继承:定义相似类型并对相似关系建模; 动态绑定:一定程度上上忽略相似类型间的区别,用统一方式使用它们。 继承 通过继承联系在一起的类构成层次关系。层次关系的最底层或者说根部的类叫做基类,直接或者间接从基类继承 阅读全文
posted @ 2016-10-17 09:43 impluse 阅读(340) 评论(0) 推荐(0) 编辑
摘要:当运算符作用域类类型的对象时,可以通过运算符重载来重新定义该运算符的含义。重载运算符的意义在于我们和用户能够更简洁的书写和更方便的使用代码。 基本概念 重载的运算符是具有特殊名字的函数:函数名由关键词operator和跟运算符号组成。 和普通函数相同,重载的运算符也包含返回值、形参列表和函数体。运算 阅读全文
posted @ 2016-08-21 09:46 impluse 阅读(482) 评论(0) 推荐(0) 编辑
摘要:当定义一个类时,我们显式或者隐式地指定该类的对象在拷贝、移动、赋值和销毁时做什么。一个类通过定义五个特殊成员来控制这些操作,包括:拷贝构造函数、拷贝赋值运算符、移动构造函数、移动赋值运算符和析构函数。 拷贝构造/移动构造:定义用同一类型的一个对象初始化另一个对象时做什么; 拷贝赋值/移动赋值:定义用 阅读全文
posted @ 2016-08-21 09:43 impluse 阅读(572) 评论(0) 推荐(0) 编辑
摘要:到本章为止,我们还没有接触过动态内存,接下来我们会学习动态内存的知识。 关于动态内存,第一个疑问是:为什么我们要使用动态内存?它有什么优点? 要了解动态内存,得先了解一个进程在内存中的基本空间结构。进程是被执行起来的程序,程序是未执行的二进制文件。 大概来说,程序包含了三大部分内容:一是程序代码,称 阅读全文
posted @ 2016-08-21 09:42 impluse 阅读(1108) 评论(0) 推荐(0) 编辑
摘要:练习11.1:描述map 和 vector 的不同。 map是关联容器,vector是顺序容器,关联容器与值无关,vector则与值密切相关 练习11.2:分别给出最适合使用 list、vector、deque、map以及set的例子。 list链表vector动态数组deque队列map映射set 阅读全文
posted @ 2016-08-17 10:58 impluse 阅读(793) 评论(0) 推荐(0) 编辑
摘要:练习10.1:头文件algorithm中定义了一个名为count的函数,它类似find,接受一对迭代器和一个值作为参数。count返回给定值在序列中出现的次数。编写程序,读取int序列存入vector中,打印有多少个元素的值等于给定值。 #include <iostream> #include <a 阅读全文
posted @ 2016-08-17 10:57 impluse 阅读(1082) 评论(0) 推荐(0) 编辑
摘要:什么是变量?变量或者叫对象,是一个有具名的、可以供程序操作的存储空间。这里具名是指变量是有名字的,可供操作是指能进行加减乘除或者输入输出等操作,存储空间则是指有一块属于它的内存空间。 为了便于说明,标题和后面的内容将对象分为两种。对于内置的,文章称作为变量,对于自定义的,称之为对象。 第一个问题:在 阅读全文
posted @ 2016-08-13 16:32 impluse 阅读(4672) 评论(3) 推荐(1) 编辑
摘要:C++条件运算符 a ? b : c ; 是右结合的,但是这个右结合要怎么理解呢? 对于a ? b : c ? d : e; 这样的表达式如果按照右结合来解读的话,那不应该是先运算c,然后返回d或者e,返回后再参与到a ? b : d / e;这样的运算的吗? 但实际代码的编译测试的结果显然大家都已 阅读全文
posted @ 2016-07-19 18:38 impluse 阅读(3844) 评论(1) 推荐(5) 编辑
摘要:容器是一些相同类型对象的集合。从概念上说,瓶子是一个容器,可以用来装水。容器分为顺序容器和无序关联容器,对于顺序容器,每个元素进入容器的顺序是有意义和作用的,而无序关联容器中每个元素进入的先后顺序也无关紧要。 顺序容器分为以下几个: 容器类型 容器描述 vector 动态数组 deque 双端队列 阅读全文
posted @ 2016-01-15 17:36 impluse 阅读(1069) 评论(0) 推荐(0) 编辑
摘要:IO类对象不允许进行拷贝操作。 IO类中定义后一些函数和标志,可以用于访问和操作流的状态。 一旦流发生错误,后续IO操作都是失败的。 读写IO对象会改变IO对象的状态。 每个输出流都管理一个缓冲区。 缓冲被刷新的原因有如下几种: 1.程序正常结束。 2.缓冲区满 3.endl刷新缓冲区 4.使用操作 阅读全文
posted @ 2016-01-15 16:27 impluse 阅读(599) 评论(2) 推荐(0) 编辑
摘要:类的基本思想是数据抽象和封装,定义类就是定义一个抽象数据类型。 前面是一句很专业抽象的行话,到目前为止,我们已经接触到了C++支持的四种程序设计思维模式的两种:面向过程和基于对象。 什么是面向过程?很明显,前面的学习中,我们要解决一件事,思路都是先做什么,再做什么,比如前面中遇到的练习题: 练习6. 阅读全文
posted @ 2016-01-15 16:12 impluse 阅读(1348) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示