
C/C++
来自深圳的驴
这个作者很懒,什么都没留下…
展开
-
C++中的四种强制类型的转换
今天是周三,2点来到图书馆,同学们打电话让去打篮球,可是我不能去,因为还有好多知识没有学习到,图书馆环境不错很适合学习,写一篇博客吧:)C++中的四种强制类型转换,面试中有面试官问到我这个问题,闲话不多说了。1.dynamic_cast运算符功能:该转换符用于将一个指向派生类的基类指针或引用转换为派生类的指针或引用。注意:dynamic_cast只能用于含有虚函数的类,其...原创 2016-04-13 19:55:52 · 467 阅读 · 0 评论 -
回文字符串的判断
#include <stdio.h>int main (){int i;char *p="abcba";char *left=p;char *right=p+4;for(i=0;i<3;i++){if(*left==*right){left++;right--;}}printf("yes\n");return 0;}原创 2015-04-24 14:36:06 · 334 阅读 · 0 评论 -
小球自由落下的问题
#include int main (){ double h=100.0,sum=100.0;int i,j;for(i=0;i{sum=sum+h;h=h/2;}printf("%f\n",h/2);printf("sum=%f\n",sum);return 0;}原创 2015-04-25 09:21:28 · 434 阅读 · 0 评论 -
猴子吃桃问题
#include int main (){ int sum=0,i=0,last=1;for(i=0;i{sum=last;last=2*(last+1);}printf("sum=%d\n",sum);return 0;}原创 2015-04-25 09:36:47 · 311 阅读 · 0 评论 -
通过函数指针调用函数
#include int main (){ int c;int m=10;int n=20;int max(int x,int y);int (*a)(int,int);a=max;c=(*a)(m,n);printf("%d\n",c);return 0;}int max(int x,int y){int z;z=(x>y)?x:y原创 2015-04-28 11:22:21 · 508 阅读 · 0 评论 -
求一个二进制数中1的个数
#include int number(int i){ int count=0;while(i){i=i&(i-1);count++;}return count;}int main (){ printf("%d\n",number(15));return 0;}原创 2015-05-09 13:43:02 · 331 阅读 · 0 评论 -
把大写字符串转换成小写
#include int main(){ int i,j; char a[20]={0}; gets(a); for(i=0;a[i]!='\0';i++) { if(a[i]>='A'&&a[i] { a[i]=a[i]+32; } else if(a[i]>='a'&&a[i原创 2015-05-09 15:05:48 · 787 阅读 · 0 评论 -
在原来的基础上翻转数组
#include int main(){ int a[10]={1,2,3,4,5,6,7,8,9,10};int *l=a;int j;int *r=a+9;int tmp;while(l{tmp=*l;*l=*r;*r=tmp;l++;r--;}for(j=0;jprintf("%d ",a[j]);return 0;原创 2015-05-09 15:40:48 · 332 阅读 · 0 评论 -
给一个整数字符串,求这个整数各个位的和
#include int my_daa(int b){if(breturn b;elsereturn b%10+my_daa(b/10);}int main (){int a=my_daa(1234);printf("%d\n",a);return 0;}原创 2015-05-11 12:29:32 · 320 阅读 · 0 评论 -
判断大端和小端2种不同的方法
第一种方法:指针的方法#include int main (){int a=1;int *p=&a;char *q=(char *)&a;if(*q==1)printf("little\n");elseprintf("big\n");return 0;}第二种方法:利用联合体#include union A{int a;cha原创 2015-05-18 15:31:36 · 405 阅读 · 0 评论 -
自己实现strcpy字符串复制函数
#include #include char *my_strcpy(char *p,const char *q){assert(p&&q);while(*q!='\0'){*p=*q;p++;q++;}return p;}int main (){ char A[20]="";char *B="agfbfjkregre";my_st原创 2015-05-20 19:04:38 · 565 阅读 · 0 评论 -
比较2个字符串的大小strcmp
#include int my_strcmp(char *pa,char *pb){while(*pa==*pb){pa++;pb++;if(*pa==*pb=='\0')return 0;}if(*pa>*pb)return 1;elsereturn -1;}int main (){int ret;char *A="aabc原创 2015-05-20 21:33:08 · 2001 阅读 · 0 评论 -
翻转倒过来的字符串
// student a am i//i am a student #include#include#includevoid reverse_string(char *left,char *right){assert(left && right);while(left {char tmp= *left;*left = *right;*right =原创 2015-06-14 12:29:58 · 442 阅读 · 0 评论 -
自己实现内存拷贝函数memcpy
#include #includevoid *Memcpy(char *dst, char *src, size_t size){assert(src&&dst);if( (dst>src) && (dst{src = src+size-1;dst = dst+size-1;*src = *dst;}}int main (){char a原创 2015-06-15 20:21:08 · 775 阅读 · 0 评论 -
三步法翻转字符串
#include #include #include #define pos 5char *left(char *head,char *tail){assert(head&&tail);while(head{char tmp = *head;*head = *tail;*tail = tmp;head++;tail--;}return h原创 2015-06-26 11:22:51 · 327 阅读 · 0 评论 -
C++中运算符的重载
#includeusing namespace std;class Complex{public:Complex (double real = 0 , double image = 0 );// ~Complex();Complex (const Complex& d);Complex& operator= (const Complex& d);原创 2016-04-07 12:07:42 · 229 阅读 · 0 评论 -
C++中Sting类的深拷贝
#include #include using namespace std;class String{public:String(char* str){_str = new char[(strlen(str) + 1)];strcpy(_str,str);}~String(){if(_str)原创 2016-04-07 12:14:48 · 258 阅读 · 0 评论 -
引用计数
#includeusing namespace std;class String{public:String(const char* str):_str(new char[strlen(str)+1]){strcpy(_str,str);_refcount = new int(1);}~String()原创 2016-04-10 10:28:59 · 212 阅读 · 0 评论 -
C++类模版
假设T是一个类模板的模板参数,当编译器遇到类似T::size_type这样的代码时,它不会知道size_type是一个自定义的类型还是类的静态成员变量,直到实例化时才会知道。例如,在类模板的某个成员函数中有如下代码 template<typename T> void MyClass<T>::MyFunc() { T::size_type*...原创 2018-09-28 15:32:42 · 194 阅读 · 0 评论