c++
文章平均质量分 83
萌小宏
情不知所起,一往而深
展开
-
C++中getline()函数详细剖析
学习C++的同学可能都会遇到一个getline()函数,譬如在C++premer中,标准string类型第二小节就是“用getline读取整行文本”。书上给的程序如下:int main(){ string line: while(getline(cin,line)) cout return 0;}大家会发现运行时怎么也跳不出循原创 2016-11-07 11:28:29 · 20924 阅读 · 0 评论 -
string类详解
我详细讲解一下string类的方法,便于以后查看!构造函数和析构函数如下:a) string s; //生成一个空字符串sb) string s(str) //拷贝构造函数 生成str的复制品c) string s(str,stridx) //将字符串str内“始于位置stridx”的部分当作字符串的初值d) string s(str,stridx原创 2017-08-16 19:51:08 · 485 阅读 · 0 评论 -
两个栈实现队列
基础知识:1、stackstack 模板类的定义在头文件中。stack 模板类需要两个模板参数,一个是元素类型,一个容器类型,但只有元素类型是必要的,在不指定容器类型时,默认的容器类型为deque。定义stack 对象的示例代码如下:stack s1;stack s2;stack 的基本操作有:入栈,如例:s.push(x);出栈,如例:s.pop();原创 2017-08-09 16:23:51 · 397 阅读 · 0 评论 -
利用栈计算表达式的值
题目:带+-*/()的表达式计算。如:(1+2*3)-4;思想:两个栈,一个用来存放数字,一个用来存放符号,然后比较各个符号优先级,遇到每个符号怎么解决等,考虑要全面。栈的基本操作:#ifndef _STACK_H_#define _STACK_H_template class myStack{public: myStack(int maxSize原创 2017-03-15 10:38:13 · 1019 阅读 · 0 评论 -
c++ const 总结
C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。Const是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。 一、Const作用 如下表所示:No.作用说明参考代码原创 2017-03-29 09:22:01 · 292 阅读 · 0 评论 -
c++中sort函数排序自己写的类
定义排序函数:方法1:声明外部比较函数bool Less(const Student& s1, const Student& s2){ return s1.name //从小到大排序}std::sort(sutVector.begin(), stuVector.end(), Less);注意:比较函数必须写在类外部(全局区域)或声明为静态函数 当comp作为类的成员函数时,默认拥有一原创 2017-02-13 19:56:19 · 5949 阅读 · 2 评论 -
assert()函数用法总结
assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include void assert( int expression );assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。请看下面的程序清单badptr.c:#include原创 2017-02-13 15:31:41 · 302 阅读 · 0 评论 -
c++中虚表指针与虚函数详解
1.c++类中的重载 看看下面的代码:#include using namespace std; class Vehicle { public: Vehicle(float speed,int total) { Vehicle::speed=speed; Veh原创 2017-03-01 17:07:31 · 7231 阅读 · 3 评论 -
cin.get(),cin.getline()
cin.get(array_name, Arsize)是用来读取字符串的,可以接受空格字符,遇到Enter结束输入,按照长度(Arsize)读取字符, 会丢弃最后的Enter字符。程序6:using namespacestd; int main (){ char a[20]; cin.get(a, 10); cout<<a<<e原创 2017-02-09 19:26:55 · 339 阅读 · 0 评论 -
register关键字
register:这个关键字请求编译器尽可能的将变量存在CPU内部寄存器中,而不是通过内存寻址访问,以提高效率。注意是尽可能,不是绝对。你想想,一个CPU的寄存器也就那么几个或几十个,你要是定义了很多很多register变量,它累死也可能不能全部把这些变量放入寄存器吧,轮也可能轮不到你。一、皇帝身边的小太监----寄存器 不知道什么是寄存器?那见过太监没有?没有?其实我也没有。没见过不原创 2017-02-09 09:59:41 · 342 阅读 · 0 评论 -
C++中函数调用时的三种参数传递方式
在C++中,参数传递的方式是“实虚结合”。按值传递(pass by value)地址传递(pass by pointer)引用传递(pass by reference)按值传递的过程为:首先计算出实参表达式的值,接着给对应的形参变量分配一个存储空间,该空间的大小等于该形参类型的,然后把以求出的实参表达式的值一一存入到形参变量分配的存储空间中,成为形参变量的初值,供被调用函数执行时使用。原创 2017-02-08 10:51:51 · 609 阅读 · 0 评论 -
c++中类模板详细讲述
一、类模板定义及实例化1. 定义一个类模板:templateclass 类名{// 类定义......};其中,template 是声明类模板的关键字,表示声明一个模板,模板参数可以是一个,也可以是多个,可以是类型参数 ,也可以是非类型参数。类型参数由关键字class或typename及其后面的标识符构成。非类型参数由一个普通参数构成,代表模板定义中的一个常量。例:原创 2016-11-24 10:29:53 · 535 阅读 · 0 评论 -
C++重要知识点小结---1
1.C++中类与结构的唯一区别是:类(class)定义中默认情况下的成员是private的,而结构(struct)定义中默认情况下的成员是public的。 2. ::叫作用域区分符,指明一个函数属于哪个类或一个数据属于哪个类。::可以不跟类名,表示全局数据或全局函数(即非成员函数)。 3.类名加载成员函数名之前而不是加在函数的返回类型前。错误:Tdate::void Set(i转载 2016-11-21 22:16:58 · 290 阅读 · 0 评论 -
深入理解c++中的异常处理机制
异常处理增强错误恢复能力是提高代码健壮性的最有力的途径之一,C语言中采用的错误处理方法被认为是紧耦合的,函数的使用者必须在非常靠近函数调用的地方编写错误处理代码,这样会使得其变得笨拙和难以使用。C++中引入了异常处理机制,这是C++的主要特征之一,是考虑问题和处理错误的一种更好的方式。使用错误处理可以带来一些优点,如下:· 错误处理代码的编写不再冗长乏味,并且不再和正常的代码混合在一起,程转载 2016-11-10 21:00:19 · 735 阅读 · 0 评论 -
STL中map使用详解
1.map中的构造函数map(); // 默认构造函数map(const map& m) // 拷贝构造函数map(iterator begin, iterator end ); //区间构造函数2.数据插入 ①insert(pair(key1,value1)) 例: Map mapStudent; mapStudent.原创 2017-08-17 20:54:20 · 483 阅读 · 0 评论