c++之路
文章平均质量分 69
静远1175
非宁静无以致远,非淡泊无以明志。我是一只小菜鸟,总有一天我会在理想的天空中翱翔!
展开
-
浅谈void 和void*
空类型 void 空类型指针void* 总结: 1. 什么是void void 是空类型 ,不指向任何类型 ,用在两个地方: (1) 当函数不返回任何值时 函数的返回类型应该是void 而不是缺省状态,在缺省状态下函数的默认返回类型为 int (2) 当函数不接受任何类型的参数时,参数列表应该为void 而不是 缺省状态,缺省状态是表明函数可以接受任何类型 ,任何个数的参数 如:原创 2015-04-23 21:37:55 · 1118 阅读 · 0 评论 -
c++迭代器详解(一):back_inserter, front_inserter,inserter
1.stl迭代器之配接器( Iterator Adapters)迭代器(Iterators)是一个纯抽象的概念:任何东西,只要其行为类似迭代器,它就是一个迭代器.也就是说,只有具备有迭代器的四种基本操作:取值(*),递增(++)比较(== !=) 赋值(=)它就是迭代器。因此,你可以自己写一些类别(classes),具备迭代器接口,但有着各不相同的行为。c++标准库中提供了数个预先定义的特原创 2015-09-13 10:14:23 · 20310 阅读 · 0 评论 -
c++stl之逆向迭代器 Reverse Iterators
1.什么是逆向迭代器?逆向迭代器是一个迭代器,是一个类,拥有迭代器的4种基本操作:*取值,++递增,=赋值,== ,!=比较。我们知道stl就是把数据和算法进行分离,数据存储在容器中,算法通过迭代器对容器内元素进行操作。逆向迭代器就是以逆向的方式进行所有操作。所有容器都可透过成员函数(rbegin()和rend()产生逆向迭代器)reverse iterator2.c++代码#incl原创 2015-09-13 16:53:47 · 1060 阅读 · 0 评论 -
字符串最后一个单词的长度
2.c++代码实现:#include#includeusing namespace std;unsigned last_word_length( const string &line);//主程序:用来从标准输入端获取字符串line ,显示结果unsigned main(int argc, char **argv){ string line; getline(cin,原创 2015-09-07 15:24:48 · 970 阅读 · 0 评论 -
栈(stack)
1.什么是栈?栈(stack)是一种只能在表的一端进行插入和删除的线性表。是一种一对一的线性关系。因为只能在栈顶进行插入和删除.这种结构特性决定了栈只能的性质:后进先出(Last In First Out),结构决定性质,性质决定用途,所以凡是具有后进先出特性的都可以用栈来描述这里主要介绍c++标准库中栈的接口及实现2.stl中的stackclass stack3.原创 2015-09-05 20:27:28 · 1411 阅读 · 0 评论 -
浅析c++迭代器之multimap
关联式容器1.什么是关联式容器关联式容器依据特定的排序法则,自动对容器内的数据元素进行排序。排序的准则是以函数的形式呈现出来的,用来比较数据元素的值(value)或者键(key)。在默认的缺省状态下是以 operator2.关联式容器的底层实现关联式容器是由搜索二叉树(binary tree)实现出来的。3.关联式容器的类别:关联式容器的差别主要在于数据元素原创 2015-09-10 14:37:11 · 3091 阅读 · 0 评论 -
c++ stl之关联式容器 set
关联式容器1.什么是关联式容器关联式容器依据特定的排序法则,自动对容器内的数据元素进行排序。排序的准则是以函数的形式呈现出来的,用来比较数据元素的值(value)或者键(key)。在默认的缺省状态下是以 operator2.关联式容器的底层实现关联式容器是由二叉树(binary tree)实现出来的。3.关联式容器的类别:关联式容器的差别主要在于数据元素的类原创 2015-09-10 09:57:11 · 820 阅读 · 0 评论 -
浅析c++ stl 之deque
1.stl容器之deque在stl中,容器是用来存储数据元素集合的一种数据结构。我们知道分析数据结构必须从两方面 入手:(1)逻辑结构(2)物理结构(存储结构)2.逻辑结构:deque “double-ended queue”中的数据元素之间的关系是一对一的线性关系3.物理结构:采用的存储结构为可以往两端发展的动态数组,是一种顺序存储结构4.性质和用途还原创 2015-09-09 15:39:55 · 710 阅读 · 0 评论 -
c++ stl 之vector浅析
1.了解stl中的vectorvector是序列式容器,每个元素在容器中的位置和插入的顺序有关。2.数据结构:vector中元素的逻辑结构:vector中的元素是一对一的线性关系vector中元素的存储结构:vector中的元素是存储在动态数组(dynamic array)(顺序存储结构)3.性质和用途结构决定性质,性质决定用途:因为vector 中的数据元素是一对一的线性原创 2015-09-09 10:40:43 · 616 阅读 · 0 评论 -
浅析c++ stl 之list
1.stl容器之listlist 是c++标准模板库中 一种非常重要的序列式容器。序列式容器意味着容器中的数据元素的顺序只和插入的时机有关同样,list作为一种容器用来存储数据元素集合.简单来说也就是一种数据结构,我们必须从逻辑结构和物理结构两个角度来考虑。2.逻辑结构:容器list中存放的数据元素之间的关系是一对一的线性关系。3.物理结构:容器list是由双向链表(d原创 2015-09-09 16:22:05 · 511 阅读 · 0 评论 -
c++ stl 之迭代器浅析
1.c++ stl之迭代器(iterator)迭代器是一个可遍历stl容器内全部或者部分元素的一个类(注意这里是类)。一个迭代器用来指出容器中的一个特定位置,也就是指出数据元素在容器内的位置。2.所有迭代器都有以下四个基本操作:(1)Operator * 返回迭代器所指的数据元素(2)Opertator ++ 将迭代器前进至下一元素 (3)Operator == 和Op原创 2015-09-09 21:41:37 · 599 阅读 · 0 评论 -
函数参数之 传常引用(passed by reference to const)替换 传值(passed by value)
我们知道,对于一个c++程序员来说,相对于java 等其它面向对象语言而言,效率就是c++程序的生命所在,如何使得c++在拥有良好的面向对象特性(抽象,封装,继承,多态)特性上,极大的提高c++程序的效率呢?其中最关键的技巧就是在函数参数的传递过程中 以传常引用替换传值(Prefer pass-by-reference-to-const to pass-by-value), 传常引用替换传值为什么原创 2015-07-12 11:19:42 · 2498 阅读 · 0 评论 -
详解const
const 作为c++非常重要得一个类型修饰关键字,也是面试时,经常被问到的一个c++知识点,那么究竟什么是 const,我们又该怎样使用const呢? 1.什么是const? const 是c++的一个类型修饰符,一个对象一旦被const修饰,意味着这个变量在以后不允许再修改,也就是一旦你觉得某值再以后的使用者 不能再修改了,你就可以使用const。一旦你使用了const 就相当于告诉编译器或原创 2015-07-15 14:57:26 · 695 阅读 · 0 评论 -
详解c++ 引用(reference)与 指针(pointer)的区别与联系
引用(reference) 与指针(pointer)之间有什么区别和联系呢?我相信,对于很多初学c++的程序猿来说,不是一件简单的事.那么在c++中,引用与指针到底有什么联系和区别呢?要弄清楚这个问题,我们必须明白 : 1.什么是引用?什么是指针? 2.为什么要用引用?为什么要用指针? 3.引用和指针有什么优缺点? 4.怎样使用引用和指针? 5.引用与指针有什么联系和区别? 下面容小生原创 2015-07-15 10:27:55 · 22630 阅读 · 4 评论 -
详解成员函数的常量性
1.什么是成员函数的常量性? 关于成员函数的常量性当前有两个流行的概念(1)bitwise constness(又称physical constness) (2)logical constness(1)什么称之为bitwise constness ? bitwise constness 是指 ,成员函数只有在不更改对象的任何成员变量(static 除外,因为类的static 变量属于类 而原创 2015-07-11 15:18:20 · 937 阅读 · 0 评论 -
c++ 常量指针 const*const
1.什么是常量指针 我们可以使用const 来修饰指针,在用const 修饰指针时,我们可以指出,指针自身,指针所指的内容,为常量 const。当const修饰指针时,如果关键字const出现在 星号* 左边 表示的是指针所指的内容为常量,如果关键字const 出现在星号* 右边 表示的是指针本身为常量。如果const出现在星号*两边 表示 指针本身 和指针所指的内容都为常量,不能被修改。为了更原创 2015-07-10 17:23:27 · 926 阅读 · 0 评论 -
递归
递归1.什么是递归? 2.为什么要用递归? 3.怎样使用递归 4.递归有哪些优缺点1.什么是递归? 递归是一个函数在函数内部直接或间接的调用函数自身。 2.为什么要使用递归? 递归一般用于解决三类问题: (1)数据的定义是按递归定义的(如 Fibonacci函数) (2)问题的解法按递归算法实现(如 Hanoi问题) Hanoi塔问题详解,参考文档 这类问题虽本身没有明原创 2015-06-03 10:55:30 · 847 阅读 · 0 评论 -
c++ 数据类型,及其使用技巧
谈到数据类型,我们必须了解什么是数据类型数据类型:数据的意义及我们能在数据上执行的操作。大多数计算机以2的整数次幂个位作为块来处理内存,类型决定了数据在内存中所占的位数,以及编译器如何解释这些位的内容。c++ 有哪些数据类型呢?c++数据类型 可以分为4大类:(1)基本内置类型(布尔型,字符型,整形,浮点型)(2)用户自定义类型也就是c++面向对象的核心:类(3)c++原创 2015-04-09 21:23:20 · 1077 阅读 · 0 评论 -
stl之remove()
1.stl 算法:算法通过迭代器对容器区间的数据元素进行操作。stl中算法包含在头文件中,都是全局函数通过迭代器可应用在任何stl容器中。在使用stl算法时,我们必须明白算法是一个函数,所以我们得明白(1)函数的功能(2)函数的参数(3)函数的返回值是什么(4)时间空间复杂度如何。2.下面我们首先介绍下:manipulatingalgorithm(更改型算法)也就是说,这些算法会对容器区间中的原创 2015-09-14 10:39:23 · 2326 阅读 · 0 评论