- 博客(15)
- 资源 (4)
- 收藏
- 关注
原创 编程实现任意长度的两个正整数相加 代码实现
char* addBigInt(char* num1,char* num2){ int c = 0;//进位,开始最低进位为0 int i = strlen(num1)-1; int j = strlen(num2)-1; int maxLength = strlen(num1) >= strlen(num2)?(strlen(num1)+1):(strlen(num2)+1);//得到
2012-05-12 19:06:41
3109
1
原创 不使用库函数将整数转化为字符串
void int2str(int n,char *str){ char buf[10] = ""; int i = 0; int len = 0; int temp = n < 0?-n:n; if (str==NULL) { return; } while (temp) { buf[i++] = (temp%10) + '0';//+'0'目的将整数转化为字符 t
2012-05-12 19:04:45
491
原创 不使用库函数将字符串转化为数字 实现
int str2int(const char *str){ int temp = 0; const char *pstr = str;//ptr保存 if (*str=='-'||*str=='+') { str++; } while (*str!=0) { if ((*str '9'))//如果当前字符不是数字,则退出循环 { break; } tem
2012-05-12 19:03:01
629
原创 String各类运算符重载的编写示例
class myString{public: myString& operator=(char* s); myString& operator=(const myString& s); char& operator[](int i);//重载[],实现数组运算 const char& operator[](int i)const; myString& operator+=(const
2012-05-12 18:59:16
515
原创 <<c++ primer>> 强制类型转换
参见> p160页显示强制类型很危险(问题源于类型已经改变时编译器没有提供任何警告或错误提示),尽量少用=-=-=-=-=-=-=-=-=-=-=-=-=dynamic_cast-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--==-=-=-=-=-=-=-=-=-=-=-=-=-const_cast=-=-=-=-=-=-=-=-=-
2012-05-12 18:43:50
345
原创 字符长度
以下是在centos_x32和centos_x64下对应的类型长度:/*******size of types on centos_x32*****************/size of char:1size of int:4 [-2^32/2---2^32/2]size of unsigned int:4 [0---2^32]size of long :4size
2012-05-12 18:42:08
347
原创 <<c++ primer>> 指向const对象指针&const指针
参见> 110页 > 一节=-=-=-=-=-=-=-=-=-=-=-=-=-指向const对象指针关键理解=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=const double *cptr;//指向const对象指针关键理解:可以指向非const对象, 但不能通过该指针修改所指向对象的值,=-=-=-=-=-=-=-=-=-=-=-=-co
2012-05-12 18:19:35
370
原创 引用使用需要注意的总结
=-=-=-=-=-=-=-=-=-=-=-=千万不要返回局部对象的引用-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=const string &manip(const string& s){ string ret = s; return ret;//不能返回局部对象的引用关键理解:函数执行完毕时,将释放分配给局部对象的存储空间。此时,对局部对象的引用会
2012-05-12 18:16:53
375
原创 sizeof的一点总结
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=char str[] = "hello";sizeof(str) = 6;void *p = malloc(100);sizeof(p) = 4;数组和指针的sizeof运算有着细微的区别:如果数组变量被传入函数中做sizeof运算,则和指针运算没有区别!
2012-05-12 18:14:59
340
原创 数字与字符串互换
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-字符串转化为数字=-=-=-=--==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=int atoi ( const char * str )功 能:将字符串转换成整型数long int atol ( c
2012-05-12 18:11:43
481
原创 <<c++ primer>> 函数指针的笔记
参见> p237页bool (*pf)(const string &, const string &);typedef bool (*cmpFcn) (const string &,const string &);//表示cmpFcn是一种指向函数的指针类型的名字bool lengthCompare(const string &,const string &){return 0;}
2012-05-12 18:03:19
373
原创 设计一个公共的class,通过它的接口可以对任何类型的数组排序
templateclass Test{ public: static void Sort(T *array,int len,bool (*Compare)(T& a,T& b))//static 可以直接通过Test::Sort访问 { T temp; ASSERT(len>=1); for (int i = 0;i < len-1;i++)//冒泡排序 {
2012-05-12 17:58:17
405
原创 模板特化
模板的特化:对某些类型进行特殊处理,下面是函数模板特化的一个例子:templatebool IsEqual(T t1,T t2){ return t1==t2;}template<>bool IsEqual(char* t1,char* t2)//IsEqual函数模板需要对char* 类型尽情特殊处理{ return strcmp(t1,t2)==0;}类模板
2012-05-12 17:33:15
462
原创 字符串循环右移n位
void loopMove(char* str,int n)//使字符串循环右移n位{ int i = 0; char *temp = NULL; int strLen = 0; char *head = str;//指向字符串头 while (*str++); strLen = str-head-1;//计算字符串长度 n = n%strLen;//计算字符串尾部移到头部的字符个
2012-05-12 17:26:18
1083
原创 从字符串的指定位置开始,删除指定长度字符
//领会指针和其它内存操作的技巧char *deleteChars(char *str,int pos,int len){ char *p = str + pos -1;//指向pos位置字符 int tt = strlen(str); if (pos tt) { return str; } if( (p+len-str) > tt)//len大于pos后剩余的字符个数,只需
2012-05-12 17:23:55
1067
VC实例学习Word文档
2009-10-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人