自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (3)
  • 收藏
  • 关注

转载 VS项目配置中 C++目录--包含目录(or库目录继承值的删除问题)

转自:http://blog.sina.com.cn/s/blog_8913a1d3010188wz.html

2014-08-22 11:56:26 1293

原创 关于局部指针的一点总结

经常碰到的问题,碰到函数局部变量指针的时候会出错。那么C++中函数局部变量指针是如何释放的呢?在函数内定义的变量所占的内存会在函数返回时被清空,因此若是以局部变量做返回值,会返回一个空值。具体说一下:当编译器为函数调用产生代码时,它会先将所有的参数压栈,然后将返回地址压入栈中,最后为局部变量在栈中开辟空间,结构如下(栈顶在上方):               函数参数 

2014-08-06 10:30:36 2329

原创 C++输出数据到txt

平时总遇到将数据写到txt中的情况,尤其是在调试程序看中间结果时,所以将代码保存下来,方便以后应用: ofstream outfile; string InitialFileName("Initial.txt"); string NewFileName("New.txt"); outfile.open(InitialFileName, ostream::app); /*

2014-07-15 15:10:31 9770

转载 C++数组作为函数参数的几个问题

本文需要解决C++中关于数组的2个问题:1. 数组作为函数参数,传值还是传址?2. 函数参数中的数组元素个数能否确定?先看下面的代码。

2014-07-04 16:33:01 453

原创 关于局部指针与栈的一点小结

昨天看到strcpy函数的典型实现时,发现该函数的返回值为局部指针变量,当时产生疑问:局部指针在函数结束时不是会被注销掉吗?为什么此处没有呢?下面给出strcpy函数代码:char* Mystrcpy(char* strDest, const char* strSrc){ assert((strDest!= NULL)&&(strSrc != NULL)); char* adress

2014-06-24 16:03:44 797

原创 2014南瑞暑期实习面试笔试经历

南瑞面试

2014-06-20 16:37:00 1722

转载 白话经典算法系列之一 冒泡排序的三种实现

冒泡排序是非常容易理解和实现,,以从小到大排序举例:设数组长度为N。1.比较相邻的前后二个数据,如果前面数据大于后面的数据,就将二个数据交换。2.这样对数组的第0个数据到N-1个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1个位置。3.N=N-1,如果N不为0就重复前面二步,否则排序完成。 按照定义很容易写出代码:[cpp]

2014-06-10 14:48:26 437

原创 sizeof与strlen的区别

1.sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型。该类型保证能容纳实现所建立的最大对象的字节大小。2.sizeof是算符,strlen是函数。3.sizeof可以用类型做参数,strlen只能用char*做参数,且必须是以'\0'结尾的。sizeof还可以用函数做参数,比如:short f();printf("%d\n", si

2014-03-06 11:35:21 532

原创 数据对齐

为什么要数据对齐?所谓数据对齐是指访问数据的地址要满足一定的条件,能被这个数据的长度所整除。 例如,1字节数据已经是对齐的,2字节的数据的地址要被2整除,4字节的数据地址要 被4整除。但为什么要数据对齐呢?简单地说,数据对齐是为了读取数据的效率。假如说每一次 读取数据时都是一个字节一个字节读取,那就不需要对齐了,这跟读一个字节没有什 么区别,就是多读几次。但是这样读取数据效率不高。

2014-03-04 12:40:31 912

原创 比特域

比特域是一种由结构体扩展而来的数据结构形式,也成为位域或者占符位。定义为:struct card{unsigned int pips:4; //占据4个位的长度unsigned int suit:2; //占据2个位长度unsigned char kq:2; //占据两个位长度}跟在变量声明后面的非负正常数是该数据所占据的比特宽度

2014-03-04 11:46:00 1356

转载 MATLAB 自带函数源代码的查找

有时候可能需要把MATLAB程序移植成C程序或者C++程序,这对与通信行业的人来说是很常见的事情,事先利用MATLAB天生具备的优越可视化环境仿真,利用MATLAB丰富的自带行数完成复杂算法的仿真,以比较不同算法之间的效率,对高效算法进行移植。     这时候往往会用到一些较为专业的函数,例如rgb2gray、fft等等,在MATLAB中我们仅是调用这些函数,不用关心MATLAB是怎么实现这些

2014-02-28 15:27:24 2007 1

转载 C++操作符的优先级

C++操作符的优先级操作符及其结合性功能用法L L L:: :: ::全局作用域  类作用域  名字空间作用域::name class::name namespace::nameL L L L L . -> [] 

2014-02-25 15:05:12 498

转载 assert的作用

assert()是C语言标准库中提供的一个通用预处理器宏,在代码中常利用assert()来判断一个必需的前提条件以便程序能够正确执行。例如,假定我们要读入一个文本文件并对其中的词进行排序,必需的前提条件是文件名已经提供给我们了,这样我们才能打开这个文件。为了使用assert(),必须包含与之相关联的C头文件 #include 。下面是一个简单的使用示例assert( filename !=

2014-02-24 09:30:52 720

转载 matlab中num2str的应用

在求导数,积分,方程的过程中,难免会遇到一些参数要随着情况有点变化,这时,你就需要能够动态的表示出你的表达式,Num2str函数是一个相当有用的函数,一般配合[]连接符使用,下面将我接触到的一些用法写出来。1 用于求导数的表达式,函数X^2 – y^p + y^t,pt为数值,可以跟随程序的不同被赋予不同的值。 Diff([‘x^2 – y^’ num2str(p) ‘+y^’ num

2014-02-20 16:57:07 2164

转载 stdexcept 头文件中定义的标准异常类

在 stdexcept 头文件中定义的标准异常类exceptionThe most general kind of problem.最常见的问题。runtime_errorProblem that can be detected only at run time.运行时错误:仅在运行时才能检测到问题range_error

2014-01-07 19:46:47 1468

原创 C++中文件路径的表述方法

在Windows目录下,文件路径表示为:D:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7。而在网址中我们又发现网页的路径又表示为:http://blog.csdn.net/lxitong/article/details/1329549。那么到底“/”与“\”有什么区别呢,下面我们就来说一说。首先说明“/”表示正斜杠,或者左斜

2014-01-06 22:10:08 1437

原创 sprintf()函数的用法

今天老师提到一个将float型数据转换为字符串的问题,首先想到了sprintf函数,就试了一下,发现了一些问题。功能:把格式化的数据写入某个字符串缓冲区。头文件:stdio.h原型:int sprintf( char *buffer, const char *format, [ argument] … );参数列表:buffer:char型指针,指向

2013-11-07 21:50:02 2286

转载 explicit构造函数

本文转载于:http://www.cnblogs.com/cutepig/archive/2009/01/14/1375917.html按照默认规定,只有一个参数的构造函数也定义了一个隐式转换,将该构造函数对应数据类型的数据转换为该类对象,如下面所示:class String {String ( const char* p ); // 用C风格的字符串p作为初始化值//

2013-10-31 20:34:36 416

原创 函数名前后加const的区别

int const func1(); int func2() const;func1是合法的,表示是一个常量函数,返回的是一个常量的值,也就是返回的值是不可以改变的!表示该成员函数的隐藏this指针参数是int* const类型的。func2是非法的!const用在函数后只要是针对类的const对象。因此对函数的const限定词只能用于类的成员函数。使用const修饰的成员

2013-10-28 16:23:46 1048

原创 C++类对象内存结构

首先介绍一下C++中有继承关系的类对象内存的布局: 在C++中,如果类中有虚函数,那么它就会有一个虚函数表的指针__vfptr,在类对象最开始的内存数据中。之后是类中的成员变量的内存数据。 对于子类,最开始的内存数据记录着父类对象的拷贝(包括父类虚函数表指针和成员变量)。 之后是子类自己的成员变量数据。 对于子类的子类,也是同样的原理。但是无论继承了多少个子类,对象中始终只有一个虚函数

2013-10-23 21:31:32 439

原创 void*的用法

void*表示空类型指针,即任何类型的指针。其意思是知道该指针与一地址相关,但不知道在此地址上的对象的类型。之所以void不能表示任意类型的原因是C/C++是静态语言,只要定义变量就要为其分配内存。然而不同类型的变量其内存是不同的,若用void表示任意类型的话,无法为其分配内存的大小。而所有指针类型的变量,其内存空间都是相同的。因此可以定义任意类型的指针。void* a;定义上

2013-10-09 11:17:45 830

转载 数组指针与指针数组的区别

数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。 p=a;      

2013-10-04 10:56:39 392

原创 C++ 取整函数ceil(),floor()

使用floor函数。floor(x)返回的是小于或等于x的最大整数。如:     floor(10.5) == 10    floor(-10.5) == -11使用ceil函数。ceil(x)返回的是大于x的最小整数。如:     ceil(10.5) == 11    ceil(-10.5) ==-10    floor()是向负无穷大舍入,floor(-10.

2013-09-06 11:00:16 576

原创 #pragma warning (disable: 4244)

#pragma warning (disable: 4244)   其作用为在编译时不显示警告提示。另外还有#pragma warning (disable: 4996):在使用std命名空间库函数的时候,往往会出现类似于下面的警告:    warning C4996: strcpy was declared deprecated出现这样的警告,是因为VC认为CRT中的一组函数

2013-09-03 17:17:09 2406

原创 派生类的构造函数及其对象的初始化

#include using namespace std;class Base1{ int d1;public: Base1(int i) { d1 = i; cout<<"constructing Base1: "<<d1<<endl; }};class Base2{ int d2;public: Base2(int j) { d2 = j; c

2013-08-19 15:58:33 944

原创 字符指针与其他类型的指针的使用区别

字符指针与其他指针(如int型指针)在使用时有区别。字符指针有其使用的特殊性:如输出字符数组名(即字符指针)时就是输出字符指针所指向的那一个字符串。而输出int型数组名(即int型指针)时,输出的就为当前的指针值(一个地址)。   但输出字符数组名取地址或输出int型数组名取地址都可以输出当前的指针值(一个地址)。另外若将字符数组名即字符指针的类型进行转换后输出的将是当前的指针值(一个地址)。

2013-07-04 21:58:13 810

原创 字符指针与数组指针的区别

一,字符指针:         用字符指针指向一个字符串。可以不定义字符数组,而定义一个字符指针。用字符指针指向字符串中的字符。void main(){ char *string="I love China!"; printf("%s\n", string);}在这里,我们没有定义字符数组,而是在程序中定义了一个字符指针变量string,用字符串常量"I love China

2013-07-03 16:37:12 648

原创 DEL函数

system("del /s /q c:\\*.bak");其中,参数s是指包含所有子目录中的文件;           参数q是指不需要删除确认;           之后是文件路径及文件名(*.扩展名)。应用此函数需加载头文件:#include 注意:1,该函数中的文件扩展名不区分大小写,例如*.dat2与*.Dat2是一样的。如果文件夹中同时包含两种文件,则全

2013-06-30 11:19:52 1352

CHMEditor一款很好的CHM文件编辑器

CHM Editor是一款可视化所见即所得的CHM编辑工具,它可以像Microsoft Word一样方便来编辑CMH文件,软件采用所见即所得模式,所有的内容更改,保存之后立刻生效。 同时这款CHM编辑工具还附带自动翻译功能,内置Google 和 Yahoo 二种翻译引擎.

2014-08-06

c 经典代码大全

c 经典代码大全,里面有一般程序所能用到的大部分源码,随粘随用,节省编程时间!

2013-04-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除