![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 83
polebear801
这个作者很懒,什么都没留下…
展开
-
解释析构函数为什么要声明成虚函数
首先要明确:1.每个析构函数(不加 virtual) 只负责清除自己的成员。2.可能有基类指针,指向的确是派生类成员的情况。(这是很正常的), 那么当析构一个指向派生类成员的基类指针时,程序就不知道怎么办了。 所以要保证运行适当的析构函数,基类中的析构函数必须为虚析构。 基类指针可以指向派生类的对象(多态性),如果删除该指针delete []p;就会调用转载 2013-09-26 11:58:30 · 795 阅读 · 0 评论 -
c++按行读取写入文件
#include #include #include #include int main(int args, char **argv) { std::string infile, outfile; std::cout << "请输入所要读取文件的文件名: "; std::cin >> infil原创 2014-02-28 17:13:58 · 5932 阅读 · 0 评论 -
C/C++判断文件/文件夹是否存在
原文链接,感谢原作者在使用PathFileExists输入参数LPCTSTR出错!!!下面是转来的方法,还没有验证!判断文件夹是否存在: 1.用CreateDirectory(".\\FileManege",NULL);如果文件夹FileManege不存在,则创建。 2.或者if(_access(".\\FileManege",0)==-1),表示Fil转载 2014-02-28 18:05:26 · 1855 阅读 · 0 评论 -
构造函数、拷贝构造函数和析构函数的的调用时刻及调用顺序
对象是由“底层向上”开始构造的,当建立一个对象时,首先调用基类的构造函数,然后调用下一个派生类的构造函数,依次类推,直至到达派生类次数最多的派生次数最多的类的构造函数为止。因为,构造函数一开始构造时,总是要调用它的基类的构造函数,然后才开始执行其构造函数体,调用直接基类构造函数时,如果无专门说明,就调用直接基类的默认构造函数。在对象析构时,其顺序正好相反。 下面简单介绍下这三个函数。构造函转载 2014-03-04 11:19:44 · 1724 阅读 · 0 评论 -
关于union的内存对齐问题,从二进制数分析
今天遇到一个感觉很奇葩的问题,一般都说union是公用内存,然后有下面几个需要注意的点:1.union是共用储存空间的2.它分配的空间大小为数据类型的最大字节的最小倍数3.在union中,所有的共用体成员共用一个空间,并且同一时间只能储存其中一个成员变量的值。(这里要注意)下面看一段代码:#include using namespace std;un原创 2014-03-05 16:55:10 · 1625 阅读 · 0 评论 -
哈夫曼编码压缩,解压,压缩比,编码表,储存到文件
哈夫曼编码实现原创 2014-03-12 19:42:55 · 6045 阅读 · 1 评论 -
const与static原理
作者:evilknight摘自邪恶八进制编译环境: WinXP sp2 + VC6.0 SP 6 对于许多C/C++初学者,往往知道static变量只是被初始化一次,对于const变量,只知道他的值是不能被修改的,但是对于其实现却不知所有然。这里我以VC6.0 SP6为平台,揭开其编译器实现原理。下面看一段程序: 引用:#include void fun(int转载 2014-03-15 23:01:48 · 1074 阅读 · 0 评论 -
笔试题及解释
腾讯笔试题:const的含义及实现机制const的含义及实现机制,比如:const int i,是怎么做到i只可读的?const用来说明所定义的变量是只读的。这些在编译期间完成,编译器可能使用常数直接替换掉对此变量的引用。更多阅读:http://www.2cto.com/kf/200912/43500.html初探编译器static、const之实现原理腾讯笔试转载 2014-03-15 23:54:03 · 1372 阅读 · 0 评论 -
c++hash_map详解
为什么需要hash_map用过map吧?map提供一个很常用的功能,那就是提供key-value的存储和查找功能。例如,我要记录一个人名和相应的存储,而且随时增加,要快速查找和修改:岳不群-华山派掌门人,人称君子剑张三丰-武当掌门人,太极拳创始人东方不败-第一高手,葵花宝典...这些信息如果保存下来并不复杂,但是找起来比较麻烦。例如我要找"张三丰"的信息,最傻的转载 2014-03-25 23:42:48 · 1159 阅读 · 0 评论 -
单链表逆置
对于单链表的逆置有两种方法可以实现:(1)利用辅助指针 基本思想:在遍历结点过程中,设置辅助指针,用于记录先前遍历的结点。这样依次编译的过程中只需修改其后继结点的next域即可。 实现代码:[cpp] view plaincopyprint?typedef int DataType; //类型定义 typedef str转载 2013-10-20 10:36:45 · 820 阅读 · 0 评论 -
C/C++中的段错误(Segmentation fault)
原文链接: http://www.cnblogs.com/hello--the-world/archive/2012/05/31/2528326.html转载 2014-08-28 21:37:23 · 4807 阅读 · 0 评论 -
linux下GDB调试
首先,程序编译后如果要加上gdb调试信息,要加上编译选项-g,如:gcc -g test.c -o test载入到gdb:执行gdb test。或者直接gdb,进入gdb后,执行file test,样的效果。常用命令:list(l):查看载入程序break(b):设置断点,如:在main函数处设置断点:break main;break 行号,在制定行添加断点;bre转载 2014-09-02 10:34:48 · 800 阅读 · 0 评论 -
udp收发包
发送程序接收程序:原创 2014-10-29 10:31:53 · 2268 阅读 · 0 评论 -
先序、中序和后序遍历
初学数据结构,已经掌握了先序、中序和后序遍历的算法。先序: 遍历顺序为"中左右" (第一个字母为根节点)后序:遍历顺序为"左右中" (根节点在最后一个)中序:遍历顺序为"左右中" (根节点的左边为 左子树, 右边为右子树)理解记忆:这三种顺序,区别在于中(根)的位置,前(先)序时,中在第一个; 后序时,中在最后一个; 中序时,中在中间 (三种顺序都是左在右的前面)转载 2014-02-25 12:18:33 · 2298 阅读 · 0 评论 -
struct与class 的知识点
struct用法深入探索 作者: Cloudward 1. struct的巨大作用 面对一个人的大型C/C++程序时,只看其对struct的使用情况我们就可以对其编写者的编程经验进行评估。因为一个大型的C/C++程序,势必要涉及一些(甚至大量)进行数据组合的结构体,这些结构体可以将原本意义属于一个整体的数据组合在一起。从某种程度上来说,会不会用struct,怎样用struct转载 2014-02-23 11:10:42 · 806 阅读 · 0 评论 -
QT_学习笔记
1. 在栈上用new分配的内存,为什么没有用delete释放?从HelloQt说起#include qapplication.h>#include qlabel.h>int main( int argc, char **argv ){ QApplication app( argc, argv ); QLabel *label=new QLabel(原创 2013-10-14 16:01:31 · 1600 阅读 · 0 评论 -
C++模板使用
有以下这样3个求加法的函数: int Add(int x,int y){return x+y;} double Add(double x,double y){return x+y;} long Add(long x,long y){return x+y;}它们拥有同一个函数名,相同的函数体,却因为参数类型和返回值类型不一样,所以是3个完全转载 2013-09-22 18:08:33 · 638 阅读 · 0 评论 -
c++数据转换stringstream的使用及说明
使用stringstream对象简化类型转换C++标准库中的提供了比ANSI C的更高级的一些功能,即单纯性、类型安全和可扩展性。在本文中,我将展示怎样使用这些库来实现安全和自动的类型转换。为什么要学习如果你已习惯了风格的转换,也许你首先会问:为什么要花额外的精力来学习基于的类型转换呢?也许对下面一个简单的例子的回顾能够说服你。假设你想用sprintf()函数将一个变量从int类型转换转载 2013-09-26 17:03:09 · 944 阅读 · 0 评论 -
c++中怎么判断一个string类型的字符串变量是否为数字?
#include #include #include using namespace std; bool isnum(string s){ stringstream sin(s); double t; char p; if(!(sin >> t)) return false;转载 2013-09-22 15:35:04 · 7819 阅读 · 0 评论 -
QTableWidget使用
【1】QTableWidget简介QTableWidget是QT对话框设计中常用的显示数据表格的控件。学习QTableWidget就要首先看看QTableView控件(控件也是有”家世“的!就像研究人一样一样的),因为QTableWidget继承于类QTableView。两者主要区别是QTableView可以使用自定义的数据模型来显示内容(也就意味着使用时先要通过setModel来绑定转载 2013-10-15 16:03:45 · 827 阅读 · 2 评论 -
c指针的形象比喻,让初学者不再困惑指针的内容
指针对一部分初学者来说一直是一个无法逾越的障碍,没有指针的C语言就好像没有左腿的短跑运动员。今天我来试试换一种方法来理解指针,希望能帮还在为指针挣扎的朋友们理清思路,高手略过即可。 我们先认为内存是一家客栈(看起来这和老掉牙的大楼的比喻没什么区别,但是请你耐心看下去)。同大部分的客栈一样,这家客栈有天、地、人等各种档次的房间,用现在的话就是单人间、双人间、四人间等等。来住店的客人也是转载 2013-10-27 10:06:16 · 1506 阅读 · 0 评论 -
让你对sizeof()另眼想看
sizeof()功能:计算数据空间的字节数1.与strlen()比较 strlen()计算字符数组的字符数,以"\0"为结束判断,不计算为'\0'的数组元素。 而sizeof计算数据(包括数组、变量、类型、结构体等)所占内存空间,用字节数表示。2.指针与静态数组的sizeof操作 指针均可看为变量类型的一种。所有指针变量的sizeof 操作结果均为转载 2013-10-29 00:47:49 · 566 阅读 · 0 评论 -
QT画图
MyImgTest.h:#ifndef MYIMGTEST_H#define MYIMGTEST_H #include class MyImgTest : public QWidget{ //Q_OBJECTpublic: MyImgTest(QWidget* parent = 0); ~MyImgTest(); vo转载 2013-10-23 22:57:19 · 6115 阅读 · 0 评论 -
c++练习中遇到的问题和解决
1. c++ 字符串头文件的问题#include #include string st("test string"); error C2065: 'string' : undeclared identifier 解释:#include using namespace std; 因为在using name原创 2013-11-02 14:31:10 · 882 阅读 · 0 评论 -
c++容器
一. LIST使用 (1)原文链接,感谢原作者stl list使用说明 使用标准的std::list进行容器数据处理时,操作比较底层。我们可以,减少引用标准MFC标准库,减少系统的大小,但同时也存在有不方便的操作之处,这里同大家分享一些使用心得…… 在使用std::list::iterator链表遍历器进行访问 lis转载 2013-11-03 09:01:59 · 620 阅读 · 0 评论 -
学习网址收藏
探寻C++最快的读取文件的方案https://www.byvoid.com/blog/fast-readfileC++按行读取文本文件http://blog.csdn.net/syunqiang/article/details/6425302在Linux下如何使用GCC编译程序、简单生成静态库及动态库。http://cheny原创 2013-11-15 16:54:04 · 714 阅读 · 0 评论 -
c++自定义实现读取ini文件
//头文件#ifndef CIniParse_H#define CIniParse_H//#include "stdafx.h"// C++ Includes#include #include // C Includes#include using namespace std;#define MAX_KEYNAME 128#de转载 2013-11-23 12:48:02 · 1332 阅读 · 0 评论 -
protobuf如何用proto文件导出C++代码文件及链接protobuf静态库问题
protobuf如何用proto文件导出C++代码文件及链接protobuf静态库问题【一】.如何用.proto文件导出C++代码之前把protobuf编好了,迫不及待写个小程序试一下当protobuf编译安装完成后,就可以在命令行下任何目录输入命令:[plain] view plaincopyprint?转载 2015-03-04 11:34:10 · 11576 阅读 · 0 评论