C/C++
文章平均质量分 60
lby978232
这个作者很懒,什么都没留下…
展开
-
C++类构造函数初始化列表
C++类构造函数初始化列表转载 2017-05-21 20:14:51 · 293 阅读 · 0 评论 -
assignment from incompatible pointer type
Struct pointer is the same with its first element pointer. If the first element is array which you want to modify. You'd better change keep the pointer point correctly.原创 2016-09-18 10:37:17 · 10006 阅读 · 0 评论 -
Encoding Latin1 To UTF8
encoding Latin1 To UTF8string& encodingLatin1ToUTF8(const char* src, string& dst) { dst.resize(strlen(src) * 2 + 1); int j = 0; while (*src) { unsigned char c = (unsigned char)*src;原创 2016-08-30 15:25:09 · 2679 阅读 · 0 评论 -
Calculate the number of UTF8 characters
字符(char)与字节(byte)的语义差别python中要计算str包含多少个字符,可以用len()函数:$ len('ABC')3$ len('中文')2len()函数计算的是str的字符数,如果换成bytes,len()函数就计算字节数:$ len(b'ABC')3$ len(b'\xe4\xb8\xad\xe6\x96\x87')6$ len('中文'.encode('utf原创 2016-08-30 17:49:50 · 577 阅读 · 0 评论 -
C++ vector 实现
C++ vector 实现//using namespace std;template class Vector { public:typedef T * iterator;Vector();Vector(unsigned int size);Vector(unsigned int size, const T & initial);Vector(const Vector<T> & v转载 2016-07-19 15:10:36 · 323 阅读 · 0 评论 -
游戏开发中常用的设计模式
http://blog.csdn.net/duzhi5368/archive/2008/04/22/2314232.aspx使用设计模式来提高程序库的重复利用性是大型程序项目开发必须的。但是在“四人帮”的设计模式概述中提到了23种标准设计模式,不但难以记住,而且有些设计模式更多的适用于应用程序开发,对游戏项目引擎设计并没有很多的利用价值。根据经验,精挑细选后,笃志在这里记录转载 2013-09-06 21:09:54 · 731 阅读 · 0 评论 -
将一句话里的单词倒置,句号不倒置
/** welcome to EMC company. Output:comany EMC to welcome.*/#include#include#includeint main(){ char str[] = "welcome to EMC company."; char temp; int begin, end;原创 2013-04-18 10:03:11 · 812 阅读 · 0 评论 -
循环递增链表中查找元素位置
#includeint searh(int array[], int num, int len){ int mid = 0; int left = 0; int right = len-1; int addr = -1; while(left mid = (left原创 2013-04-17 19:00:24 · 695 阅读 · 0 评论 -
整形数按位逆置
#include//typedef unsigned int uint; 用这个的话会增强可移植性int ReverseBit(int value){ int answer = 0; int i = 1; for(i;i!= 0;i=i { answer if (value & 1) {原创 2013-04-10 16:19:53 · 665 阅读 · 0 评论 -
微软strcpy,strcat和strcmp的实现源代码
From: http://blog.csdn.net/yexianyi/article/details/4092945/****char *strcpy(dst, src) - copy one string over another**Purpose:* Copies the string src into the spot specified by* dest; ass转载 2012-11-06 18:11:16 · 366 阅读 · 0 评论 -
Security Issue: Command injection
CERT C Coding原创 2016-11-01 09:55:27 · 399 阅读 · 0 评论 -
cJSON 解析JSON实例
cJSON 解析实例原创 2016-11-14 19:38:25 · 718 阅读 · 0 评论 -
删除字符串中重复的字符
[面试]删除字符串中重复的字符原创 2017-01-03 18:38:05 · 852 阅读 · 0 评论 -
String 实现
String 实现转载 2017-05-21 19:46:22 · 256 阅读 · 0 评论 -
C++静态成员函数小结
C++静态成员函数小结原创 2017-05-28 09:25:39 · 489 阅读 · 0 评论 -
关于const对象定义在头文件中
关于const对象定义在头文件中转载 2017-05-28 08:24:06 · 2832 阅读 · 0 评论 -
C++初始化列表与构造函数异同
C++初始化列表与构造函数异同原创 2017-05-27 18:53:44 · 526 阅读 · 0 评论 -
二叉树的深度优先遍历与广度优先遍历
二叉树的深度优先遍历与广度优先遍历原创 2017-05-11 14:14:39 · 415 阅读 · 0 评论 -
String 实现
String 实现原创 2017-01-09 14:45:41 · 292 阅读 · 0 评论 -
深度、广度优先遍历算法C实现
深度、广度优先遍历算法C实现转载 2017-01-08 17:07:54 · 763 阅读 · 0 评论 -
字符串压缩程序,即整型数存入字符数组
字符串压缩程序,即整型数存入字符数组原创 2017-01-08 16:35:42 · 1333 阅读 · 0 评论 -
BOOL和bool的区别
bool是标准C++数据类型bool是标准C++数据类型.BOOL是微软定义的typedef int BOOLBOOL.转载 2017-01-07 20:18:13 · 825 阅读 · 0 评论 -
二维数组作为函数参数传进一个函数
若函数的参数是二维数组,函数原型应该写成这种形式:void tt(char a[][20])或者 void tt(char (*a)[20])或者降为一维数组来处理。转载 2013-04-02 10:33:17 · 687 阅读 · 0 评论 -
把一个字符串转换成整数
#includeint StrToInt(const char* str){ long long num = 0; if(str != NULL) { const char* digit = str; // the first char in the string maybe '+' or '-' in原创 2013-03-31 16:52:14 · 655 阅读 · 0 评论 -
个函数实现求一个字符串中出现频率最高的字符
# include using namespace std; char pl[256];// 这里假设字符集是256个void main(){ char *p="jasodufosajfdsadnszkhahdfasdifoisjcs", *t=p,max=0; while(*t){ max= ++pl[*t]>pl[m转载 2013-02-24 22:23:38 · 513 阅读 · 1 评论 -
万进制,乘法
#include#includeusing namespace std;void num1(int s[],string st1);int a[2501],b[2501],c[5002]; //此处可以进行2500位万进制乘法,即10000位十进制乘法。int main(){ string str1,str2; cout int len;转载 2012-10-20 18:42:24 · 1815 阅读 · 0 评论 -
长度为n的数组乱序存放着0至n-1. 现在只能进行0与其他数的swap,请设计并实现排序。
#includeusing namespace std;void swap(int &a, int &b){ a=a^b; b=a^b; a=a^b;}void msort(int a[], int n){ int i=0; while(i { if(a[i]==i) i转载 2012-10-30 13:46:00 · 2239 阅读 · 0 评论 -
高精度除法
#includeint main(){ long int x,y,u,n; printf("请输入两个整数:\n"); scanf("%d%d",&x,&y); printf("您想输出小数点后几位?(如果可以整除,只需要输出小数点后一个0)\n"); scanf("%d",&n); printf("结果:\n"); p转载 2012-10-20 18:11:40 · 289 阅读 · 0 评论 -
C++传值,传址,引用的区别
引用与指针的比较 ——引用是C++中的概念引用是C++中的概念,其操作符是: & 。这跟C中是取地址操作符一样,但是意义不一样,C中没有引用的。 (切记 !)以下程序中翻译 2012-10-24 10:31:06 · 6321 阅读 · 1 评论 -
C++求N以内所有的质数
有两种方法:筛选法和开根号法 筛选法:从小到大筛去一个已知素数的所有倍数。依次删除可被2整除,3整除。。。。的数字,剩下的则为素数 。 开根号法:如果一个数(>2),对这个数求平方根,如果这个数能被这个数的平方根到2之间的任何一个(只要有一人就行)整除说明就不是质数,如果不能就说明是质数!原理:假如一个数N是合数,它有一个约数a,a×b=N,则a、b两个数中必有一个大于或等转载 2012-10-29 11:35:29 · 36632 阅读 · 1 评论 -
高精度加法
#include#includeusing namespace std;int main(){ string str1,str2; int a[250],b[250],len; //数组的大小决定了计算的高精度最大位数 int i; memset(a,0,sizeof(a)); memset(b,0,sizeof(b));转载 2012-10-19 11:16:39 · 312 阅读 · 0 评论 -
求数组的子数组的最大和,时间为O(n)
//////////////// O(n^3)#includeint MaxSum(int* A, int n){ int maximum = -(1 int sum=0,i,j,k; for(i = 0; i { for(j = i; j { for(原创 2012-10-21 09:22:22 · 1289 阅读 · 0 评论 -
函数参数(指针的指针)传递问题
程序1:void myMalloc(char *s) //我想在函数中分配内存,再返回{s=(char *) malloc(100);}void main(){char *p=NULL;myMalloc(p); //这里的p实际还是NULL,p的值没有改变,为什么?if(p) free(p);}程序2:void myMalloc(char **s)转载 2012-10-24 08:53:48 · 496 阅读 · 0 评论 -
数组和指针,实例
#include int main(){ char *srt[]={"welcome","To","Center","Garud"}; char **p = &srt[1]; // printf("%s\n",*p); srt[0]=(*p++)+2; srt[1]=*(p+1); srt[2]=p[1]+3;原创 2012-10-18 16:10:35 · 300 阅读 · 0 评论 -
在给定位置插入一个字符串
#include#includevoid main(){ char ch[40],ch2[20],ch3[20],i,j,temp; printf("请输入第一串字符:"); gets(ch); printf("请输入第二串字符:"); gets(ch2); printf("请输入 串2 插入 串1 的位置:");转载 2012-10-31 16:22:37 · 477 阅读 · 0 评论 -
memcpy()与memmove()的差别
memcpy与memmove的目的都是将N个字节的源内存地址的内容拷贝到目标内存地址中。但当源内存和目标内存存在重叠时,memcpy会出现错误,而memmove能正确地实施拷贝,但这也增加了一点点开销。memmove的处理措施:(1)当源内存的首地址等于目标内存的首地址时,不进行任何拷贝(2)当源内存的首地址大于目标内存的首地址时,实行正向拷贝(3)当源内存的首地址小于目标内存转载 2012-10-23 10:46:39 · 532 阅读 · 0 评论 -
堆内存和栈内存
1.堆内存和栈内存 堆内存是区别于栈区、全局数据区和代码区的另一个内存区域。堆允许程序在运行时动态地申请某个大小的内存 在学习C程序设计语言时,会遇到两个很相似的术语:堆内存和栈内存。这两个术语虽然只有一字之差,但是所表达的意义差别还是很大的,堆内存和栈内存的区别可以用如下的比喻来看出:使用堆内存就象是自己动手做喜欢吃的菜肴,比较麻烦,但是比较符合自己的口味,而转载 2012-10-24 09:10:30 · 360 阅读 · 0 评论 -
找出1000以内的所有完数。
一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如:6=1+2+3. 6是个“完数”。#include "stdio.h"main(){ static int k[10]; int i,j,n,s; for(j=2;j { n=0; s=j; for(i=1;i { if((j%i)==0)原创 2012-11-13 20:16:48 · 601 阅读 · 0 评论 -
putchar 实现把整形数按照radix进制的数输出
阿吉 原创 #include #include int radix = 2;void myprintfdec(int x){ int i,p = 0; char a; char s[100]; while(x != 0){ i = x % radix; itoa(i, &a, radix); s[p++]原创 2012-11-07 21:42:46 · 454 阅读 · 0 评论 -
螺旋式打印一个二维数组
http://blog.csdn.net/lonelywinter340/article/details/3292686 思路有很多,最容易想到的方法就是设置一个表示方向的变量,根据当前的方向来判断下一步的操作,当到达边界的时候方向顺时针改变。另外有一个bool型的数组来表示相应位置是否被访问过,初始化都是0(未访问),当输出一个数就把相应位置的标记置为1。在转载 2012-11-06 21:32:25 · 479 阅读 · 0 评论