C++
文章平均质量分 83
小鸡炖蘑菇_
stay hungry,stay foolish.
展开
-
C++之运算符重载
运算符重载定义: C++中预定义的运算符的操作对象只能是基本数据类型。但实际上,对于许多用户自定义类型(例如类),也需要类似的运算操作。这时就必须在C++中重新定义这些运算符,赋予已有运算符新的功能,使它能够用于特定类型执行特定的操作。运算符重载的实质是函数重载,它提供了C++的可扩展性,也是C++最吸引人的特性之一。 运算符重载是通过创建运算符函数实现的,运算符函数定义了重载的运算符将要进行的原创 2015-08-11 21:57:45 · 632 阅读 · 0 评论 -
提升C++输入输出性能
做题的时候,由于数据量大,很多情况下得用scanf和printf代替cin和cout用于输入输出。难道C++不行么?百度了一下,有三条建议用于提高C++的输入输出速度:At the first line in main function,add :std::ios_base::sync_with_stdio(false).which cancel theSynchronization betwee转载 2015-12-23 11:18:01 · 401 阅读 · 0 评论 -
C++ cout格式化输出(转)
这篇文章主要讲解如何在C++中使用cout进行高级的格式化输出操作,包括数字的各种计数法(精度)输出,左或右对齐,大小写等等。通过本文,您可以完全脱离scanf/printf,仅使用cout来完成一切需要的格式化输入输出功能(从非性能的角度而言)。更进一步而言,您还可以在<sstream>、<fstream>上使用这些格式化操作,从而代替sprintf和fprintf函数。为方便描述,下文仅以cou转载 2015-12-22 19:21:58 · 12966 阅读 · 0 评论 -
C++ STL之set
set集合容器:实现了红黑树的平衡二叉检索树的数据结构,插入元素时,它会自动调整二叉树的排列,把元素放到适当的位置,以保证每个子树根节点键值大于左子树所有节点的键值,小于右子树所有节点的键值;另外,还得保证根节点左子树的高度与右子树高度相等。 平衡二叉检索树使用中序遍历算法,检索效率高于vector、deque和list等容器,另外使用中序遍历可将键值按照从小到大遍历出来。 构造set集合主要目原创 2015-12-20 10:58:21 · 679 阅读 · 0 评论 -
STL vector用法介绍
介绍这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作。本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用。通过阅读这篇文章读者应该能够有效地使用vector容器,而且应该不会再去使用C类型的动态数组了。Vector总览vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板原创 2015-08-22 09:31:20 · 1419 阅读 · 0 评论 -
C++STL之map
Map是c++的一个标准容器,它提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作! 1、map的功能 自动建立Key - value的对应。key 和 value可以是任意你需要的类型。 根据key值快速查找记录,查找的复杂度基本是Log(N),如果有1000个记录,最多查找10次,1,000,000个记录,最多查找20次。 快速插原创 2015-12-18 17:31:01 · 698 阅读 · 0 评论 -
C++ STL之栈&队列&优先队列
stack 栈是一种容器适配器,特别为后入先出而设计的一种(LIFO ),那种数据被插入,然后再容器末端取出栈实现了容器适配器,这是用了一个封装了的类作为他的特定容器,提供了一组成员函数去访问他的元素,元素从特定的容器,也就是堆栈的头取出元素。这个基础的容器可能是任何标准的容器类,和一些其他特殊设计的模板类。 实现C++ STL,栈有两个参数。template < class T, class转载 2015-12-17 18:53:43 · 431 阅读 · 0 评论 -
C++stringstream用法简介
C++引入了ostringstream、istringstream、stringstream这三个类,要使用他们创建对象就必须包含sstream.h头文件。istringstream类用于执行C++风格的串流的输入操作。 ostringstream类用于执行C风格的串流的输出操作。 strstream类同时可以支持C风格的串流的输入输出操作。istringstream类是从istream和s原创 2015-12-16 19:17:12 · 579 阅读 · 0 评论 -
C++中引用(&)的用法和应用实例(转)
对于习惯使用C进行开发的朋友们,在看到c++中出现的&符号,可能会犯迷糊,因为在C语言中这个符号表示了取地址符,但是在C++中它却有着不同的用途,掌握C++的&符号,是提高代码执行效率和增强代码质量的一个很好的办法引用是C++引入的新语言特性,是C++常用的一个重要内容之一,正确、灵活地使用引用,可以使程序简洁、高效。我在工作中发现,许多人使用它仅仅 是想当然,在某些微妙的场合,很容易出错,究其原由转载 2015-08-20 22:01:10 · 349 阅读 · 0 评论 -
C++ string学习(转)
C++中string是标准库中一种容器,相当于保存元素类型为char的vector容器(自己理解),这个类提供了相当丰富的函数来完成对字符串操作,以及与C风格字符串之间转换,下面是对string一些总结<引用>一,C语言的字符串在C语言里,对字符串的处理一项都是一件比较痛苦的事情,因为通常在实现字符串的操作的时候都会用到最不容易驾驭的类型——指针。比如下面这个例子://example 1:char转载 2015-08-20 21:28:30 · 841 阅读 · 0 评论 -
cin详解
输入原理: 程序的输入都建有一个缓冲区,即输入缓冲区。一次输入过程是这样的,当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin函数直接从输入缓冲区中取数据。正因为cin函数是直接从缓冲区取数据的,所以有时候当缓冲区中有残留数据时,cin函数会直接取得这些残留数据而不会请求键盘输入 #include <iostream>using namespace std;int main(){原创 2015-08-14 22:37:40 · 2983 阅读 · 1 评论 -
大数相加
以前在网上看大数相加的代码,基本上都是用字符数组写的。今天突然想试试用C++中的string能不能写,写了之后感觉比用字符串写略微简单,先上代码吧大数相加的函数void add(string &a, string &b, string &c){ int lena = a.length(), lenb = b.length(); int i, j; c = ""; s原创 2015-08-20 21:42:12 · 496 阅读 · 0 评论