c/c++编程
文章平均质量分 75
xujian_2014
这个作者很懒,什么都没留下…
展开
-
c++学习笔记—动态内存与智能指针浅析
我们的程序使用内存包含以下几种:静态内存用来保存局部static对象、类static数据成员以及定义在任何函数之外的变量,在使用之前分配,在程序结束时销毁。栈内存用来保存定义在函数内部的非static对象,仅在其定义的程序块运行时才存在。堆内存用来存储动态分配的对象,即那些在程序运行时分配的对象,动态对象的生存周期由程序控制,当动态对象不再使用时,我们的代码必须显式的销毁他原创 2015-01-08 15:45:18 · 1195 阅读 · 0 评论 -
c++学习笔记——个单词转换的map程序详解
实现功能:给定一个string,将它转换为另一个string。程序输入是两个文件,第一个文件保存转换规则,第二个文件为将要进行转换的文本。IDE:Windows7+VS2013#include "stdafx.h"#include #include #include #include #include #include using namespace std;map bu原创 2015-01-07 16:36:50 · 1322 阅读 · 0 评论 -
解析c++中的虚函数
C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我在这里不做过转载 2015-01-09 16:54:08 · 659 阅读 · 0 评论 -
c++学习笔记—单链表基本操作的实现
用c++语言实现的单链表基本操作,包括单链表的创建(包括头插法和尾插法建表)、结点的查找、删除、排序、打印输出、逆置、链表销毁等基本操作。IDE:vs2013具体实现代码如下:#include "stdafx.h"#include #include using namespace std;typedef struct Lnode{ int data; struct原创 2015-01-14 21:13:09 · 2869 阅读 · 0 评论 -
c++学习笔记—c++对txt文件的读取与写入
一、文件的输入输出头文件fstream定义了三个类型支持文件IO:ifstream从给定文件读取数据、ofstream向一个给定文件写入数据、fstream读写给定数据。这些类型与cin和cout的操作一样,我们可以用IO操作符来读写文件,还可以用getline从一个ifstream读取数据。1、getline()函数getline的函数原型为:istream& getline(i原创 2015-01-13 17:43:55 · 44538 阅读 · 1 评论 -
c++学习笔记—二叉树基本操作的实现
用c++语言实现的二叉树基本操作,包括二叉树的创建、二叉树的遍历(包括前序、中序、后序递归和非递归算法)、求二叉树高度,计数叶子节点数、计数度为1的节点数等基本操作。IDE:vs2013具体实现代码如下:#include "stdafx.h"#include #include #include #define MAXSIZE 100 using namespace s原创 2015-01-15 17:05:07 · 3401 阅读 · 0 评论 -
STL源码剖析—顺序容器
1、vector简介: vector的数据安排及其操作方式与数组非常相似,微小的差别在于空间的使用,数组是静态空间,一旦配置了就不能改变。vector是动态空间,随着元素的加入,它的内部机制会自行扩充空间以容纳新元素。2、vector的构造和内存管理其数据结构为:1 class vector2 {3 ...4 private:5 ite原创 2015-01-22 09:30:51 · 527 阅读 · 0 评论 -
C++多线程编程简单实例
C++本身并没有提供任何多线程机制,但是在windows下,我们可以调用SDK win32 api来编写多线程的程序,下面就此简单的讲一下: 创建线程的函数HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, // SD SIZE_T dwStackSize,转载 2015-03-16 21:28:52 · 549 阅读 · 0 评论 -
【LeetCode OJ 024】Swap Nodes in Pairs
题目:Given a linked list, swap every two adjacent nodes and return its head.For example,Given 1->2->3->4, you should return the list as 2->1->4->3.Your algorithm should use only constant space原创 2015-04-02 09:09:37 · 574 阅读 · 0 评论