C++学习
Anfanger4De
菜是原罪
沉心静气
展开
-
C++11保留小数点的的四舍五入方案
C++11保留小数点的的四舍五入方案通常有两种常用的方法:通过Setprecision()实现#include <iomanip>#include <iostream>std::cout << std::fixed << setprecision(5) << 1.234567;上面程序示例即可达到保留5位小数并四舍五入,但如...原创 2019-11-03 22:42:28 · 1103 阅读 · 0 评论 -
标准模板库(STL)四:STL算法之变值/变序/排序/有序区间/合并
变序算法变序算法改变容器中元素的顺序但是不改变元素的值变序算法不适用于关联容器算法复杂度大部分都是 O(n)O(n)O(n)的算法功能reverse颠倒区间的前后次序reverse_copy把一个区间颠倒后的结果拷贝到另一个区间, 源区间不变rotate将区间进行循环左移rotate_copy将区间以首尾相接的形式进行旋转后的结果 拷贝到...原创 2019-07-07 06:40:17 · 239 阅读 · 0 评论 -
c++:函数调用作为实参
在coursera结课习题遇到下面程序,需要将函数名作为实参传入。相应的函数声明时,需要注意函数的返回值,函数的形参表。#include <iostream>using namespace std;int sum(int a[], int n, int (*sqr)(int)) { int sum = 0; for(int i = 0; i < n; i++...原创 2019-07-16 00:40:49 · 1027 阅读 · 0 评论 -
C++:继承与派生初探
继承和派生定义继承:在定义一个新的类B时,如果该类与某个已有的类A相似(指的是B拥有A的全部特点), 那么就可以把A作为一个基类,而把B作为基类的一个派生类(也称子类)。派生类是通过对基类进行修改和扩充得到的。在派生类中,可以扩充新的成员变量 和成员函数。派生类一经定义后,可以独立使用,不依赖于基类。派生类拥有基类的全部成员函数和成员变 量,不论是private、protected、p...原创 2019-07-16 00:03:47 · 224 阅读 · 0 评论 -
C++:运算符的重载
运算符重载运算符重载对已有的运算符赋予多重的含义使同一运算符作用于不同类型的数据时有不同类型的行为目的:扩展cpp中提供的运算符的适用范围, 以用于类所表示的抽象数据类型运算符重载的实质是函数重载,参数个数为运算符目数返回值类型 operator 运算符(形参表){ …… }在程序编译时:把含运算符的表达式 -> 对运算符函数的调用把运算符的操作数 -&...原创 2019-07-15 04:44:20 · 594 阅读 · 0 评论 -
标准模板库(STL)三:STL算法之不变序列算法
STL算法STL中的算法大致可以分为以下七类:不变序列算法变值算法删除算法变序算法排序算法有序区间算法数值算法大多重载的算法都是有两个版本的用 “==” 判断元素是否相等, 或用 “<” 来比较大小多出一个类型参数 Pred和函数形参 Pred op : 通过表达式 op(x,y)的返回值: ture/false 判断x是否 “等于” y,或者x是否 “小于” y...原创 2019-07-04 07:00:05 · 230 阅读 · 0 评论 -
标准模板库(STL)二:关联容器与容器适配器
标准模板库 STLpair模板template<class _T1, class _T2>struct pair{ typedef _T1 first_type; typedef _T2 second_type; _T1 first; _T2 second; pair():first(), second(){}; //无参构造函数 p...原创 2019-07-04 06:56:42 · 158 阅读 · 0 评论 -
标准模板库(STL)一:基本概念
标准模板库 STL概述STL:standard template libraryc++里的重用面向对象:继承、多态、标准类库泛型程序设计:模板机制,STL泛型程序设计将一些常用的数据结构(比如链表,数组,二叉树)和算法(比如排序,查找)写成模板,以后则不论数据结构里放的是什么对象,算法针对什么样的对象,则都不必重新实现数据结构,重新编写算法。基本概念容器:容纳各种数据类型的...原创 2019-06-24 07:25:09 · 312 阅读 · 0 评论 -
C++ 泛型程序设计(二): 类模板
类模板背景:定义一批相似的类定义类模板生成不同的类在调用类模板时,指定参数,由编译系统根据参数提供的数据类型自动产生相应的模板类类模板的定义template <class 类型参数1, class 类型参数2, ...>class 类模板名{ 成员函数和成员变量;};定义成员函数template <类型参数表>返回值类型 类模板名<类型参...原创 2019-06-05 05:55:25 · 294 阅读 · 0 评论 -
C++ 泛型程序设计(一): 函数模板
泛型程序设计Generic Programming算法实现时不指定具体要操作的数据的类型,适用于多种数据结构; 通俗的来说,算法实现一遍,但适用于多种数据结构;大量编写模板,使用模板的程序设计:函数模板类模板优势:减少重复代码的编写;函数模板定义template<class 类型参数1, class 类型参数2, ...>返回值类型 模板...原创 2019-06-04 05:11:34 · 173 阅读 · 0 评论 -
C++文件的操作处理
文件操作顺序文件:一个有限字符构成的顺序字符流文件流类:用于文件操作ifstream:读取数据ofsteam:写入数据fstream:读写数据使用用/创建文件的基本流程打开文件通过制定文件名,建立文件和文件流对象的关联指明文件的使用方式读写文件利用读/写指针进行相应位置的操作关闭文件打开文件初始化对象时打开初始化后用open函数打开#incl...原创 2019-06-04 03:18:27 · 215 阅读 · 0 评论 -
C++: 多态与虚函数
多态和虚函数的基本概念虚函数在类的定义中,前面有 virtual 关键字的成员函数就是虚函数。 virtual 关键字只用在类定义里的函数声明中, 写函数体时不用。构造函数与静态成员函数不能是多态。多态的表现形式多态的实现主要通过两种形式:指针多态和引用多态。指针多态派生类的指针可以赋给基类指针。通过基类指针调用基类和派生类中的同名虚函数时::若该指针指向一个基类的对象,那么被调...原创 2019-06-03 21:41:03 · 546 阅读 · 0 评论 -
C++ 值传递、指针传递与引用传递的理解
C++ 值传递 指针传递 引用传递简单定义及区别我们首先给出各种传递方式的简单定义,及各自的区别。值传递在值传递中,形参是实参的拷贝,改变形参的值并不影响外部实参的值。值传递是单向的,及参数的值只能传入,不能传出。指针传递本质上是值传递的方式,其所传递的是一个地址值。值传递过程中,被调函数的形式参数作为被调函数的局部变量处理。当大于形参的指向操作时,相当于对实参本身进行操作。引用传递...原创 2019-06-03 04:22:32 · 428 阅读 · 0 评论 -
C++:输入与输出
输入和输出与输入输出流操作相关的类istream是用于输入的流类,cin就是该类的对象。ostream是用于输出的流类,cout就是该类的对象。ifstream是用于从文件读取数据的类。ofstream是用于向文件写入数据的类。iostream是既能用于输入,又能用于输出的类。fstream是既能从文件读取数据,又能向文件写入数据的类。这些类的派生关系可以用下图来表达:ios...原创 2019-06-08 08:28:54 · 290 阅读 · 0 评论 -
C++ 泛型程序设计(三): 类模板之String类
string类string类是一个模板类,它的定义如下:typedef basic_string<char> string;使用string类要包含头文件 <string>string对象的初始化:string s1("Hello"); // 一个参数的构造函数string s2(8, ‘x’);// 两个参数的构造函数;8代表字符出现的次数string...原创 2019-06-08 08:27:47 · 816 阅读 · 0 评论