
C/C++
文章平均质量分 65
half000
这个作者很懒,什么都没留下…
展开
-
几个声明语句
( *( void(*)() ) 0) (); understand?0 在这里的类型是 *( void(*)() ) float *g(),(*h)();*g()表示g是一个函数,函数的返回值类型为指向浮点数的指针(*h)()表示h是一个函数指针,h所指向函数的返回值为浮点类型将常数0转型为"指向返回值为void的函数的指针"类型,(void(*)()) 0 为复杂的声明定原创 2008-08-26 10:14:00 · 330 阅读 · 0 评论 -
标准IO流,比较详细了
Standard I/O StreamC++的标准输入/输出库 iostream 不仅提供了I/O库,还提供了使用库的流模式 " cin>>"流入和 " cout1.流状态 (Stream States) 1st showpos 在正数(含0)前显示 + 号 2nd showbase HEX前加 0X,O原创 2008-09-08 15:21:00 · 368 阅读 · 0 评论 -
C++中的指针(三) 智能指针 转贴
Smart Pointer是C++中的一个大题目,要说清楚他的所有好处很需要费点力气。我就一个功能一个功能的说。有我理解不透的地方希望大家指点。1.copy-to-write当生成一个C++ object的时候如果这个class很大,这个object会占用很多空间。那么每生成一个就占用一片空间,这样会占用很多系统资源。同时降低效率。一个解决方法就是对用拷贝构造函数生成的object,让他不存储转载 2008-09-11 15:33:00 · 241 阅读 · 0 评论 -
bool类型
整数1和0构成了bool的表示范围相当于 enum bool{false,true}注意: 用任何非0数给bool变量赋值,其值都为1例子 bool a=3;//a=1 bool b=1; //b=1 bool c=a+b;//a+b=2,c=1 bool d=a-b;// a-b=0,c=0bool的输出形式可以选择,默认为1和0,如果要输出true原创 2008-09-12 15:37:00 · 259 阅读 · 0 评论 -
水仙花数
#includeusing namespace std;int main(){ for(int i(1);i for(int j=0;j { if(i*i*i+j*j*j>999) break; else for(int k=0;k { cout if(i*i*i+j*j*j+k*k*k==i*100+j*10+k) cout else if(原创 2008-09-11 15:42:00 · 181 阅读 · 0 评论 -
完数
//1000以内的完数#includeusing namespace std;int main(){ for(int i(1);i { for(int j(1),sum(0);j if(i%j==0)sum+=j; if(i==sum) cout } return 0;}看了下完数的公式和性质 也挺有趣的原创 2008-09-11 16:54:00 · 164 阅读 · 0 评论 -
三位对称素数
#include#includeusing namespace std;int main(){ bool prime; for(int i(1);i for(int j(0);j { int a; a=i*101+j*10; for(int k(3);k { //prime=true; if(a%k==0) {原创 2008-09-11 17:21:00 · 204 阅读 · 0 评论 -
string使用
//统计文件中25日要加班的日期,*的算X 2的天数//7 25 2006//5 25 2200*//23 1 2000*//.....#include#include#include#include#includeusing namespace std;void main(){ int n(0); ifstream in("C://aaa.txt"); for(string s;getl原创 2008-09-19 17:27:00 · 212 阅读 · 0 评论 -
vector
//一段关于二维向量的代码#include#include#include#includeusing namespace std;typedef vector > Mat;//typedef存储类说明符 下面用Mat作类型名Mat input();void mySort(Mat& a);void print(const Mat& a);void main(){ Mat a=input(); myS原创 2008-09-19 10:31:00 · 183 阅读 · 0 评论 -
switch case语句
switch 语句 (switch statement)switch语句也称开光语句,它是多分支结构。 1.整数值分支判断 switch括号中的表达式只能是整型,字符型或枚举型表达式。 case 后面的常量表达式之类型必须与其匹配。(否则编译错误) float f=4.0switch(f){} //error statement2.default分支原创 2008-09-05 16:34:00 · 502 阅读 · 0 评论 -
多态性
多态应该指virtual关键字,主要就表现为基类的虚函数和继承类的override(重写)。比如: class ball { public: virtual void play(){}; // 球可以踢可以打 } class basketball:public ball { public: void play(){};// override 篮球只可以打 } class football:publ转载 2008-09-04 14:29:00 · 226 阅读 · 0 评论 -
关于数组
数组中不存在溢出的地址 只有溢出的元素 int a[]={1,2,3,4,5}除了a 被用作运算符 sizeof 的参数的时,在其他所有的情形中数组名a代表下标为0的元素的指针sizeof(a)的结构是整个数组a的大小,而不是指向数组a的元素的指针的大小 现在讨论下二维数组 int calendar[12][31];int (*monthp)[31];monthp=calendar;原创 2008-08-26 10:18:00 · 173 阅读 · 0 评论 -
输出设置COUT
使用 setfill、setw 和 setprecision 基数的示例使用 setfill、setw 和 setprecision 操作器,这些操作器带有参数,并在头文件 iomanip.h 中定义。因此,此头文件必须包括在程序中。 #include #include #include void main() { int amt1 = 100, amt2 = 12345; f原创 2008-08-26 10:20:00 · 181 阅读 · 0 评论 -
C++运算符理解
关于符号 有两点 首先 编译器的贪吃法规则,既尽量用更长的标志符 例如 a+++++b 会被理解成 a++ ++ +b 也就是((a++)++) + b,由于赋值表达式的左值一定是变量,所以会出错 a++ 是一个赋值表达式,(a++)++的左值是a++出错 第二 对于*P++的理解 *p++和 *(p++)是完全一样的 举个易错的例子原创 2008-08-26 10:08:00 · 179 阅读 · 0 评论 -
陷阱于缺陷中看到的
#include "iostream.h"int main(){char *p,*q;p="xyz";q=p;p[1]=Y;cout}结果应该是 xYz由于ANSI C标准禁止对 string literal 作出修改 试图修改字符串常量的行为是未定义的,某些C编译器还允许这种修改 如 LCCv3.6原创 2008-08-26 10:11:00 · 156 阅读 · 0 评论 -
关于初始化C++类成员
关于初始化C++类成员责任编辑:ncic 更新日期:2007-4-2 在使用C++编程的过程当中,常常需要对类成员进行初始化,通常的方法有两种: 第一种方法:CMYClass::CSomeClass(){ x=0; y=1;}第二种方法:CSomeClass::CSomeClass() : x(0), y(1){}本文将要探讨这两种方法的异同以及如转载 2008-08-26 16:16:00 · 202 阅读 · 0 评论 -
几个小函数的区别
注意 CInt 与 Fix 和 Int 函数不同,后两者将数字的分数部分截尾取整,而不是四舍五入。当分数部分恰好为 0.5 时,CInt 函数通常将其四舍五入为最接近的偶数。例如,0.5 被四舍五入为 0,而1.5 被四舍五入为 2。原创 2008-08-26 10:15:00 · 246 阅读 · 0 评论 -
补码等的规则 复习下
1、原码的定义①小数原码的定义 [X]原 = X 0≤X <1 1- X -1 < X ≤ 0 例如: X=+0.1011 , [X]原= 01011 X=-0.1011 [X]原= 11011②整数原码的定义 [X]原 = X 0≤X <2n 2n-X - 2n < X ≤ 0 2、补码的定义①小数补码的定义原创 2008-08-26 10:16:00 · 344 阅读 · 0 评论 -
棱形图案
#include #include using namespace std;#define N 7int main(){ for(int i(0);i { if(i { for(int j(0);j cout for(int k(0);k cout } else {原创 2008-09-05 14:02:00 · 446 阅读 · 0 评论 -
耦合性(或称“耦合度”)
耦合性(或称“耦合度”) 英文 : coupling 耦合性是程序结构中各个模块之间相互关联的度量。它取决于各个模块之间接口的复杂程度、调用模块的方式以及哪些信息通过接口。 一般模块之间可能的连接方式有七种,构成耦合性的七种类型。它们之间的关系为(由弱到强) (1)非直接耦合(Nondirect coupling) 如果两个模块之间没有直接关系,它们之间的联系完全是转载 2009-02-28 12:48:00 · 1106 阅读 · 0 评论