C++ primerplus
C++Primer ,适合初学者借鉴与学习,难免错误之处,请指教,谢谢!
简书成研
求实求真,大气大为
展开
-
c / c++ 结构体的定义与使用
头文件#pragma once#include using namespace std;typedef int(FUNCPTRPA)(int rIndex);typedef struct{ int a; int b;}TEST1;typedef struct{ FUNCPTRPA*fun_send; FUNCPTRPA*fun_reve; int yx;原创 2015-02-06 13:39:10 · 998 阅读 · 0 评论 -
C++ volatile关键字
volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。使用该关键字的例子如下:int volatile nVint; 当要求使用volatile 声明的变量的值的时候,系统总是重新从它所在的内存读取数据,即原创 2014-02-09 14:06:02 · 3782 阅读 · 0 评论 -
C/C++从入门到进阶必修书籍
C到C++ 学习入门到进阶到专业(以下是学习资料文档)开发语言排序文档名称URL链接难度c入门级1你必须知道的495个C语言问题http://download.csdn.net/download/u013468134/68433432C语言深度剖析http://download.csdn.n原创 2014-02-09 11:29:25 · 6326 阅读 · 18 评论 -
标准模板STL简介
先对模板和标准容器的入门需要大致了解(提供给像我这样得菜鸟吧) 个人觉得模板和标准容器无非就是提供重用性与通用性大致下面几个方面: 1 函数通用性:重载与模板 2 类通用性: 模板3:STL的容器可以分为以下几个大类: 一:序列容器, 有vector, list, deque, string.二 : 关联容器, 有set, multiset, map原创 2013-10-07 09:24:42 · 1154 阅读 · 0 评论 -
1 C 编译阶段
一 C编译过程概述 目前Linux下最常用的C语言编译器是GCC(GNU Compiler Collection),它是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Object C等语言编写的程序.GCC不仅功能非常强大,结构也异常灵活.最值得称道的一点就是它可以通过不同的前端模块来支持a各种语言,如Java、Fortran、Pascal、Modula-3和Ada等原创 2013-11-14 20:53:40 · 1366 阅读 · 0 评论 -
使用标准模板库 (STL)之一
STLSTL的一个重要特点是数据结构和算法的分离。尽管这是个简单的概念,但这种分离确实使得STL变得非常通用。例如,由于STL的sort()函数是完全通用的,你可以用它来操作几乎任何数据集合,包括链表,容器和数组。要点STL算法作为模板函数提供。为了和其他组件相区别,在本书中STL算法以后接一对圆括弧的方式表示,例如sort()。STL另一个重要特性是它不是面向对象的。为了具有足够翻译 2013-10-08 21:53:20 · 1321 阅读 · 0 评论 -
函数通用性之重载与(导出模板概念)
本小节主要是想通过重载来导出模板首先来熟悉几个概念的东西:1 什么是重写2 什么是重载 来个小总结吧:1 成员函数重载特征: a 相同的范围(在同一个类中) b 函数名字相同 c 参数不同 d virtual关键字可有可无2 重写(覆盖)是指派生类函数覆盖基类函数,特征是: a 不同的范围,分别位于基类和派生类中 b 函数原创 2013-10-08 21:36:44 · 1404 阅读 · 0 评论 -
使用标准模板库 (STL)之二
容器迭代器尽管C++指针也是迭代器,但用的更多的是容器迭代器。容器迭代器用法和iterdemo.cpp一样,但和将迭代器申明为指针变量不同的是,你可以使用容器类方法来获取迭代器对象。两个典型的容器类方法是begin()和end()。它们在大多数容器中表示整个容器范围。其他一些容器还使用rbegin()和rend()方法提供反向迭代器,以按反向顺序指定对象范围。下面的程序创建了一个矢量容器(翻译 2013-10-09 21:07:04 · 1020 阅读 · 0 评论 -
4.5 数组,模板类vector和array的比较
数组,模板类vector和array比较原创 2013-11-17 14:14:22 · 2304 阅读 · 0 评论 -
4.3 指针,数组和指针算术之间关系
指针名在C和C++中解析为地址,C++中也将数组名解析为地址#include using namespace std;int main(){double wags[3]={1.0, 2.0,3.0};short stacks[3] = {3,2,1};//c++将数组名解析为地址double* wg = wags;short* wgs = &原创 2013-11-15 13:38:59 · 1353 阅读 · 0 评论 -
4.2 结构(struct) 与共用体(union)
概念性的东西就没必要多说了,想必有一定的C基础都会知道结构体和共用体,当然这个不是我这次的重点,重点是程序员经常使用的!1 结构体说白了,就是将不同的类型组装起来,组装以后一般作为参数传递给函数(在C中要注意结构体一般初始化结构体,经常使用到malloc 分配空间,在bzero 基本就ok啦),当然也可以让函数返回一个结构体哈。待会可以贴一个C的例子参考(呵呵。学习C++貌似自己在回味原创 2013-11-08 14:47:23 · 1190 阅读 · 0 评论 -
4 .1 数组 章 复合类型
4.1 数组 数组和链表的原理区别:当有面试官问你的时候,我的回答很简单,数组就是在大小稳定,而链表也大小稳定(前提在C中),区别就是使用效率问题了撒,可以去分析链表和数组的存储方式吧。 总结:数组使用 很少或不插入和删除元素,就应该用数组 链表使用 需要经常插入和删除元素你就需要用链表数据结构了。 我将会把C与C++的使用方式对比,具体在使用效率与使用方法上原创 2013-11-06 16:48:59 · 1067 阅读 · 0 评论 -
5 循环和关系表达式
对常见的语法问题不描述,主要对一些注意事项加以说明!类型别名在c++中为类型建立别名两种方式1 使用预处理#define char byte :char 替换所有的byte,使byte变成char的别名2 使用C++和C的typedef 关键字typedef char byte: char 替换所有的byte,使byte变成char的别名通用使用形式:typed原创 2013-11-18 14:23:06 · 1170 阅读 · 0 评论 -
2.2 函数的重载到模板的重载(例子)
1 函数重载1.1头文件#ifndef _TIME_#define _TIME_class Time{private: int hours; int minutes;public: Time(); Time(int h, int m); Time Add( Time &t1, Time &t2); void show(const Time原创 2013-12-09 10:38:11 · 1471 阅读 · 0 评论 -
C++队列之动态分配数组
1 、队列之定义 队列(Queue)是只允许在一端进行插入,而在另一端进行删除的运算受限的线性表 (1)允许删除的一端称为队头(Front)。 (2)允许插入的一端称为队尾(Rear)。 (3)当队列中没有元素时称为空队列。 (4)队列亦称作先进先出(First In First Out)的线性表,简称为FIFO表。 队列的修改是依原创 2013-12-17 10:04:47 · 2059 阅读 · 0 评论