c/c++
Hanpengfei
这个作者很懒,什么都没留下…
展开
-
c++中的四种类型转换操作符
Dynamic_cast主要用于执行“安全的向下转型”。也就是说,要确定一个对象是否是一个继承体系中的一个特定类型。它是唯一不能用旧风格语法执行的强制类型转换,也是唯一可能有重大运行时代价的强制转换。Static_cast可以被用于强制类型转换(例如,non-const对象转换为const对象,int转换为double,等等),它还可以用于很多这样的转换的反向转换(例如,void*指针转换为有原创 2009-11-30 13:54:00 · 568 阅读 · 0 评论 -
排序
所谓排序,就是整理文件中的记录,使之按关键字递增(或递减)的顺序排列起来。1.被排序的对象--文件被排序的对象--文件由一组记录组成。记录则由若干数据项(或域)组成。其中有一项可用来标识一个记录,称为关键字项。该数据项的值称为关键字(Key)。2.排序运算的依据--关键字用来做排序运算依据的关键字,可以是数字类型,也可以是字符类型。关键字的选取应根据问题的要求而定。3.排序原创 2009-11-30 13:57:00 · 689 阅读 · 0 评论 -
整数字符串转化
1.用编程的方法将整数转化成字符串整数转化成字符串,可以采用加‘0’,再逆序的办法,整数加0就会隐性转换成char类型的数。#include #include using namespace std;int main(void){ int num = 12345; char temp[5]; char str[5]; int i = 0; int j = 0; while(原创 2009-11-30 15:40:00 · 620 阅读 · 0 评论 -
cons成员函数的约束有多大?
const成员函数的作用是保护类型不在此函数中不修改。#include using namespace std;class A{private: int i;public: A() { i = 10; } void F() const { i = 11;原创 2009-12-18 09:18:00 · 785 阅读 · 0 评论 -
c函数的参数传递
在C语言中,所有传递给函数的参数都是按值传递的。#include using namespace std;void Out(int* p){ int j = 11; p = &j; *p = 12; cout}int main(int argc,char*argv[]){ int i = 10; O原创 2009-12-18 16:33:00 · 499 阅读 · 0 评论 -
数组下标的本质
#include using namespace std;void Out(const char* ch){ cout}int main(int argc,char*argv[]){ Out("HanPwngfei"); int i = 0; cin>>i;}这段代码告诉我们,数组下标的使用,最终会被编译器转换原创 2009-12-18 17:27:00 · 941 阅读 · 0 评论 -
static的作用
当它用于函数定义时,或用于代码块之外的变量声明时,static关键字用于修改标识符的链接属性,从external改为internal,但标识符的存储类型和作用域不受影响,用这种方式声明的函数或变量只能在声明他们的源文件中访问。当用于代码块内部的变量声明时,static关键字用于修改变量的存储类型,从自动变量修改为静态变量,但但变量的链接属性和作用域不受影响。用这种方式声明的变量在程序执原创 2009-12-23 13:27:00 · 635 阅读 · 0 评论 -
为什么C语言不检查数组的下标?
最早的C编译器并不检查下标,而最新的编译器依然不对它进行检查。这项任务之所以很困难,是因为下标引用可以作为任意的指针,而不仅仅是数组名。作用于指针的下标引用的有效性既依赖于该指针当时恰好指向什么内容,也依赖于下标的值。结果,C的下标检查所涉及的开销比你开始想象的要多。编译器必须在程序中插入指令,证实下标的结果所引用的元素和指针表达式所指向的元素属于同一个数组。这个比较操作需要程序中所有数组的位原创 2009-12-29 16:30:00 · 3486 阅读 · 2 评论