
C++
文章平均质量分 71
u013322907
这个作者很懒,什么都没留下…
展开
-
动态申请二维数组
//动态定义一维数组、二维数组、三维数组#include#includeusing namespace std ;int main(){int hight , row , col ;register int i , j , k ;srand((unsigned)time(NULL)) ;coutcin>>row ;//动态定义一维数组int *p转载 2014-07-16 15:08:03 · 278 阅读 · 0 评论 -
const在c和c++中的区别
C++中的const正常情况下是看成编译期的常量,编译器并不为const分配空间,只是在编译的时候将期值保存在名字表中,并在适当的时候折合在代码中.所以,以下代码:#include using namespace std;int main(){ const int a = 1; const int b = 2; int array[ a + b ] = {0}; f转载 2014-09-11 19:14:58 · 312 阅读 · 0 评论 -
内连接和外连接
【转】http://blog.youkuaiyun.com/zhanglianpin/article/details/6845818C++ 内部链接与外部链接在说内部连接与外部连接前,先说明一些概念。1.声明 一个声明将一个名称引入一个作用域; 在c++中,在一个作用域中重复一个声明是合法的 以下都是声明:转载 2014-09-11 19:22:49 · 358 阅读 · 0 评论 -
复杂指针
13、定义一个函数指针,指向的函数有两个int形参并且返回一个函数指针,返回的指针指向一个有一个int形参且返回int的函数?A、int (*(*F)(int, int))(int)B、int (*F)(int, int)C、int (*(*F)(int, int))D、*(*F)(int, int)(int) 14、声明一个指向含有10个元素的数组的指针,其中每个原创 2014-08-28 10:30:08 · 442 阅读 · 0 评论 -
运算符重载
1. 运算符重载介绍之前的函数重载,允许多个同名不同参数类型的函数;运算符重载允许程序员如何使用运算符(如+、-、==、=和!)来处理不同类型的数据类型;对于基本数据类型,运算符是可以使用的:对于自定义数据类型:如果为对自定义MyString的运算符+定义,会出现编译错误。当一个运算符重载时,对于C++将会根据数据的类型,选择合适的重载运算符;C++转载 2014-08-18 10:55:19 · 480 阅读 · 0 评论 -
内存管理
当前,绝大多数嵌入式平台上的软件都采用C语言编写。除了代码简洁、运行高效之外,灵活操作内存的能力更是C语言的重要特色。然而,不恰当的内存操作通常也是错误的根源之一。如“内存泄漏” ——不能正确地释放已分配的动态内存,就是一种非常难于检测的存错误。持续的内存泄漏会使程序性能下降到最终完全不能运行,进而影响到所有其它有动态内存需求的程序,在某些相对简单的嵌入式平台上甚至会妨碍操作系统的运转。再如“写内原创 2014-09-22 16:47:33 · 357 阅读 · 0 评论 -
C++ 初始化列表
C++ 初始化列表http://www.cnblogs.com/graphics/archive/2010/07/04/1770900.html何谓初始化列表与其他函数不同,构造函数除了有名字,参数列表和函数体之外,还可以有初始化列表,初始化列表以冒号开头,后跟一系列以逗号分隔的初始化字段。在C++中,struct和class的唯一区别是默认的访问性不同,而这里我们不考转载 2014-08-15 21:08:58 · 243 阅读 · 0 评论 -
内存对齐
结论: (1) 对于基类,如果有虚函数,那么先存放虚函数表指针,然后存放自己的数据成员;如果没有虚函数,那么直接存放数据成员。 不论有几个虚函数,都只有一个虚函数指针。(2) 对于单一继承的类对象,先存放父类的数据拷贝(包括虚函数表指针),然后是本类的数据。 (3) 虚函数表中,先存放父类的虚函数,再存放子类的虚函数 (4) 如果重写了父类的某些虚函数,那么新的虚函数将原创 2014-08-17 09:55:21 · 358 阅读 · 0 评论 -
大端小端和共同体
大端小端:所谓的大端模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中;所谓的小端模式,是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中。原创 2014-07-18 10:09:02 · 555 阅读 · 0 评论 -
c++生成单例模式
单例设计模式:保证一个类在内存中的对象最多只能有1个原创 2014-08-15 15:17:04 · 342 阅读 · 0 评论 -
不能被继承的类
一个类不能被继承原创 2014-08-15 20:40:33 · 305 阅读 · 0 评论 -
位域
位域有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态,用一位二进位即可。为了节省存储空间,并使处理简便,C语言提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个类型单元中的二进位划分为几个不同的区域, 并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以达到压缩数据的目的。转载 2014-08-17 17:01:33 · 302 阅读 · 0 评论 -
传递动态内存
传递动态内存 http://blog.163.com/sunshine_linting/blog/static/4489332320118492412396/当你涉及到C/C++的核心编程的时候,你会无止境地与内存管理打交道.这些往往会使人受尽折磨.所以如果你想深入C/C++编程,你必须静下心来,好好苦一番.现在我们将讨论C/C++里我认为哪一本书都没有完全说转载 2014-08-17 19:41:00 · 282 阅读 · 0 评论 -
c++题目
以下代码中的两个sizeof用法有问题吗?voidUpperCase( char str[] ) // 将 str 中的小写字母转换成大写字母{for(size_t i=0; iif('a'str[i]-= ('a'-'A' );}charstr[] = "aBcDe";coutUpperCase(str );cout 答:函数内的sizeof有问题原创 2014-08-17 21:34:59 · 403 阅读 · 0 评论 -
构造函数、析构函数、拷贝构造函数
#include using namespace std;class B { public: B() { cout<<"默认构造函数"<<endl; } ~B() { cout<<"析构函数"<<endl; } B(int i):data(i) //B(int) works as a converter ( int -> instance of B)原创 2014-07-18 14:33:01 · 361 阅读 · 0 评论 -
派生类的初始化列表
派生类的构#include #include #include using namespace std;class A{ int i;public: A() { cout<<"default A"<<endl; } A(int x):i(x) { cout<<"A"<<endl; } ~A() { cout<<"~A"<<endl;原创 2014-08-28 15:26:50 · 2262 阅读 · 0 评论 -
自定义String类
zidin#include using namespace std;class String {private: char *p;public: String(const char *str=NULL); String(const String &s); ~String(); String &operator=(原创 2014-07-17 21:56:24 · 321 阅读 · 0 评论 -
【转】VC++,掀起你的盖头来 ——谈VC++对象模型
VC++,掀起你的盖头来——谈VC++对象模型(美)简 ? 格雷程化 译译者前言一个C++程序员,想要进一步提升技术水平的话,应该多了解一些语言的语意细节。对于使用VC++的程序员来说,还应该了解一些VC++对于C++的诠释。Inside the C++ Object Model虽然是一本好书,然而,书的篇幅多一些,又和具体的VC++关系小一些。因此,从篇幅和内容转载 2014-07-18 17:05:21 · 303 阅读 · 0 评论 -
传值、引用、传指针的试题
#include using namespace std;void fun1(char *p){ p=new char[100];}void fun2(char *&p){ p=new char[100];}void fun3(char **p){ *p=new char[100];}void main(){ char *p1=NULL,*p2=NULL,*p原创 2014-07-21 19:53:12 · 368 阅读 · 0 评论 -
【转】计算平方根
求n的平方根,先假设一猜测值X0 = 1,然后根据以下公式求出X1,再将X1代入公式右边,继续求出X2…通过有效次迭代后即可求出n的平方根,Xk+1 先让我们来验证下这个巧妙的方法准确性,来算下2的平方根 (Computed by Mathomatic)1-> x_new = ( x_old + y/x_old )/2y(x_old + -----)x_old#1: x转载 2014-07-21 21:29:36 · 505 阅读 · 0 评论 -
strcpy函数
先来看看微软的代码:char * __cdecl strcpy(char * dst, const char * src){ char * cp = dst; while( *cp++ = *src++ ) ; /* Copy src over dst */ return( d原创 2014-07-21 19:10:11 · 295 阅读 · 0 评论 -
自己写字符串函数
char *strcpy(char *des,const char *src){ if(des==NULL || src==NULL) return NULL; char *p=des; while((*des++=*src++)!='\0'); return p;}char *strncpy(char *des,const char* src,int n){ if(des=原创 2014-07-24 14:42:11 · 365 阅读 · 0 评论 -
string用法
string类:#include1、创建string s1;//空s1="string s2(s1);原创 2014-07-14 19:55:46 · 372 阅读 · 0 评论 -
关于头文件定义全局变量等问题
关于头文件定义全局变量等问题 全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?可以,在不同的C文件中以static形式来声明同名全局变量。头文件中不可以直接定义变量和函数,但是可以定义static变量 ,类。extern 用法,全局变量与头文件(重复定义)用#include可以包含其他头文件中变量、函数的声明,为什么还要extern关键字,如果我想引用转载 2014-08-19 16:43:30 · 706 阅读 · 0 评论 -
strstr函数
C语言中strstr函数编辑包含文件:string.h函数名: strstr函数原型:extern char *strstr(const char *str1, const char *str2);语法:* strstr(str1,str2)str1: 被查找目标 string expression to search.str2: 要查找对象 The原创 2014-08-19 17:10:10 · 426 阅读 · 0 评论 -
【转】单例模式
单例模式http://blog.youkuaiyun.com/wuzhekai1985/article/details/6665869单例模式,可以说设计模式中最常应用的一种模式了,据说也是面试官最喜欢的题目。但是如果没有学过设计模式的人,可能不会想到要去应用单例模式,面对单例模式适用的情况,可能会优先考虑使用全局或者静态变量的方式,这样比较简单,也是没学过设计模式的人所能想到的最简单的方式了转载 2014-08-21 21:49:15 · 321 阅读 · 0 评论 -
C++中protected的访问权限
C++中protected的访问权限http://blog.youkuaiyun.com/luoruiyi2008/article/details/7179788关于C++中protected的访问权限的讨论已经是一个很陈旧的话题了,陈旧到大家都不愿意去讨论,觉得他见到到吃饭睡觉那么自然。我再次读《C++ Primer》的时候,其中关于protected 成员的描述是这样的:p转载 2014-08-25 19:33:22 · 551 阅读 · 0 评论 -
构造函数调用构造函数
题目如下:问下列代码的打印结果为0吗?#include stdlib.h>#include iostream>using namespace std;struct CLS{ int m_i; CLS( int i ) : m_i(i){} CLS() { CLS(0); }};int mai转载 2014-09-09 20:29:35 · 470 阅读 · 0 评论 -
容易错的sizeof题
1、class A{ int i; enum{red} color; typedef char* (*f)(void*); };int main() { cout<<sizeof(A)<<endl;}原创 2014-08-28 11:41:16 · 396 阅读 · 0 评论 -
C语言中无符号数和有符号数相加问题
C语言中无符号数和有符号数相加问题看个题:#include int main() { unsigned int a=6; int b=-20; printf("%d\n",a+b); (a+b)>6? puts(">6"):puts("return 0; } 结果是:-14 >6原创 2014-09-25 19:12:24 · 899 阅读 · 0 评论