- 博客(15)
- 资源 (3)
- 收藏
- 关注
转载 C++ 定义实用比较函数(Custom Compare Function) 注意点
学过C++的应该都知道在调用sort算法的时候可以自定义比较函数(map, heap也都有类似的比较函数谓词的定义), 从而实现不同的排序比如可以从小到大或者从大到小,比如如下就是sort函数的申明(摘自cplusplus):template void sort (RandomAccessIterator first, RandomAccessIterator last, Compa
2015-09-25 16:36:33 2193
原创 string类实现
#include #includeusing namespace std;class String{public: String(const char* str="");//通用构造函数 String(const String& another);//拷贝构造函数 ~String();//析构函数 String& operator =(const Stri
2015-09-24 11:14:38 399
转载 局部变量作为返回值
看看下面的程序的输出:#includechar *returnStr(){ char *p="hello world!"; return p;}int main(){ char *str; str=returnStr(); printf("%s\n", str); return 0;}这个没有任何问题,因为"hello
2015-09-22 10:40:03 1351 2
转载 函数后面加const
类的成员函数后面加 const,表明这个函数不会对这个类对象的数据成员(准确地说是非静态数据成员)作任何改变。 在设计类的时候,一个原则就是对于不改变数据成员的成员函数都要在后面加 const,而对于改变数据成员的成员函数不能加 const。所以 const 关键字对成员函数的行为作了更加明确的限定:有 const 修饰的成员函数(指 const 放在函数参数表的后面,而不是在函数前面或者
2015-09-17 18:43:54 425
转载 什么是复合类型
C++中,什么是复合类型?刚开始,还以为自定义的类是复合类型。查了C++ primer才知道复合类型不是类。在C++中类型大致可以分为三种一、内置类型如int, char, float, unsigned等。内置类型是最基本的类型。二、复合类型复合类型:使用其它类型定义的类型。有三种复合类型:引用,指针,数组。三、类类型就是类。比如string以及自己定义的类。
2015-09-17 11:47:46 731
原创 string.h常用函数实现未完待续
#include #include #includeusing namespace std;原型:char* strcpy(char* dest, const char *src);说明:把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间。src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。返回指向dest的指针。c
2015-09-15 18:31:17 690
转载 C++ 拷贝构造函数 赋值构造函数
C++ 拷贝构造函数 赋值构造函数拷贝构造函数和赋值构造函数的异同由于并非所有的对象都会使用拷贝构造函数和赋值函数,程序员可能对这两个函数有些轻视。请先记住以下的警告,在阅读正文时就会多心:如果不主动编写拷贝构造函数和赋值函数,编译器将以“位拷贝”的方式自动生成缺省的函数。倘若类中含有指针变量,那么这两个缺省的函数就隐含了错误。以类String 的两个对象a,b 为例,假设a.m_data
2015-09-15 11:13:31 575
转载 c/c++中delete/free 指针后,设置p=NULL的好处
从简单的代码开始: int* p = new int; *p = 5; delete p; p = NULL;Line4把释放了的指针立即设置为null,我们一般认识到是防止野指针的产生,从而导致程序崩溃。如: int* p = new int; *p = 5; delete p; *p = 12; //这里崩溃
2015-09-15 10:31:27 528
转载 sizeof浅析——求结构体大小
运算符sizeof可以计算出给定类型的大小,对于32位系统来说,sizeof(char) = 1; sizeof(int) = 4。基本数据类型的大小很好计算,我们来看一下如何计算构造数据类型的大小。 C语言中的构造数据类型有三种:数组、结构体和共用体。 数组是相同类型的元素的集合,只要会计算单个元素的大小,整个数组所占空间等于基础元素大小乘上元素的个
2015-09-11 23:46:01 434
转载 深入理解c语言——‘\0’ ,‘0’, “0” ,0之间的区别
看来基础还是很重要的,基础不扎实就难以学好c语言,就别说写出高质量的c语言代码了。今天,我就被这个问题折磨的不行了,哈哈,不过现在终于明白了‘\0’ ,‘0’, “0” 之间的区别了。困惑和快乐与你分享! 首先比较一下‘\0’和‘0’的区别。有一个共同点就是它们都是字符,在c语言中,字符是按其所对应的ASCII码来存储的,一个字符占一个字节。请翻开你的ASCII字符集表吧,一般在你的C语言
2015-09-11 21:21:41 492
原创 判断CPU是大端模式还是小端模式
//判断CPU是大端模式还是小端模式#include using namespace std;//1、同一个内存段可以用来存放几种不同类型的成员,//但是在每一瞬间只能存放其中的一种,而不是同时存放几种。//换句话说,每一瞬间只有一个成员起作用,其他的成员不起作用,即不是同时都在存在和起作用。//2、共用体变量中起作用的成员是最后一次存放的成员,在存入一个新成员后,原有成员就失去作用。
2015-09-11 19:53:28 1300
转载 void和void*详解
void关键字的使用规则: 1. 如果函数没有返回值,那么应声明为void类型; 2. 如果函数无参数,那么应声明其参数为void; 3. 如果函数的参数可以是任意类型指针,那么应声明其参数为void * ; 4. void不能代表一个真实的变量;void体现了
2015-09-02 23:27:02 572
转载 C 风格字符串,C++string类,MFC,CString类的区别。
字符串,顾名思义是由字符组成的字符串,在标准C,标准C++,MFC中 字符串这一功能的实现是不相同的,C++完全兼容了C。1. 标准C中的字符串 在标准C中没有string这样的数据类型,C中的字符串是有char类型的字符数组或者char类型的字符指针来实现的。例如: char name[26]="This is a C-style string"; 或者
2015-09-02 14:16:49 845
转载 字符编码笔记:ASCII,Unicode和UTF-8
作者: 阮一峰日期: 2007年10月28日今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料。结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才算初步搞清楚。下面就是我的笔记,主要用来整理自己的思路。但是,我尽量试图写得通俗易懂,希望能对其他朋友有用。毕竟,字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得一点字符编码的知
2015-09-01 15:25:18 524
转载 Late Not Bad 不带感情的学习技术 char [] 到 LPWSTR转换的一个具体应用
背景:1. Unicode环境2. 使用了CTreeCtrl控件 TV_ITEM类型(item) item.pszText变量 问题:定义了一个chartext[31]数组,用来接收选中的TV_ITEM item的item.pszText。然后将该字符数组的值显示给一个statictext 控件。即,显示当前选中的树形目录的item
2015-09-01 14:33:00 514
CRC循环冗余校验
2015-08-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人