C/C++
oscarjulia
不积跬步,何以至千里
展开
-
C语言实现哈希表(key为字符型)
简单实现了哈希表的插入和查找功能,简要说明如下: 1、数据结构: struct HashNode { char* sKey; //键 int nValue; //值 HashNode* pNext; //当Hash值冲突时,指向HASH值相同的下一个节点。 }转载 2016-08-17 10:24:17 · 2691 阅读 · 0 评论 -
函数声明后面的const用法
void function() const{} 通常我们会看到一些函数声明后面会跟着一个const,这个const是做什么的呢? 看一下下面的例子,就知道了。直接在编译前,就会提示下面的两个错误 // test1107.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include using namespace std; class转载 2016-12-19 16:47:28 · 344 阅读 · 0 评论 -
函数指针初始化和调用的几种方法
文章转自:http://blog.csdn.net/zongyinhu/article/details/48790555 看如下代码,然后思考如下几个问题: [cpp] view plain copy print? "font-family:KaiTi_GB2312;font-size:18px;">#include #include using na转载 2017-04-12 21:03:35 · 1631 阅读 · 0 评论 -
理解this指针
1. this指针的用处: 一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。也就是说,即使你没有写上this指针,编译器在编译的时候也是加上this的,它作为非静态成员函数的隐含形参,对各成员的访问均通过this进行。转载 2017-04-13 11:16:48 · 269 阅读 · 0 评论 -
C++中的虚析构函数、纯虚析构函数详解
C++中析构函数可以为纯虚函数吗? 众所周知,在实现多态的过程中,一般将基类的析构函数设为virtual,以便在delete的时候能够多态的链式调用。那么析构函数是否可以设为纯虚呢? class CBase { public: CBase() { printf("CBase()\n"); } virtual ~转载 2017-07-05 17:18:13 · 1296 阅读 · 0 评论 -
c++ vector reserve/resize解析
写代码的时候无意错用了这两个函数 导致测试的时候,程序运行崩溃 发现这两个函数还是有区别的 void reserve (size_type n); reserver函数用来给vector预分配存储区大小,即capacity的值 ,但是没有给这段内存进行初始化。reserve 的参数n是推荐预分配内存的大小,实际分配的可能等于或大于这个值,即n大于capacity的值,就会reallocate内转载 2017-07-05 17:43:00 · 562 阅读 · 0 评论 -
内存布局深度好文
对任何一个普通C++程序来讲,它都会涉及到5种不同的数据段。常用的几个数据段种包含有“程序代码段”、“程序数据段”、“程序堆栈段”等。不错,这几种数据段都在其中,但除了以上几种数据段之外,进程还另外包含两种数据段。下面我们来简单归纳一下进程对应的内存空间中所包含的5种不同的数据区。 代码段:代码段是用来存放可执行文件的操作指令,也就是说是它是可执行程序在内存种的镜像。代码段需要防转载 2017-06-28 11:44:42 · 394 阅读 · 0 评论