坚持学习/暴露问题/不断提升

c++/设计模式/算法结构/系统
posts - 2, comments - 20, trackbacks - 0, articles - 0
re: C/C++刁钻问题各个击破之细说sizeof 二狗子_五哥 2011-08-10 21:45
@陈昱(CY)
非常感谢,我之前没考虑到成员函数的指针问题,事实上我根本不知道这个问题,今天太晚了,明天把你提供的链接学习一下,然后修改之
re: C/C++刁钻问题各个击破之细说sizeof 二狗子_五哥 2011-08-10 21:42
@疯狂的面包
你在dev c++环境下,或者gcc编译器中运行过我的代码吗?它是正确的,不同的编译器实现不同而已,c标准的所有东西并非每个编译器都完全实现了,而且c/c++标准本身也在发展中,的确,最初c/c++不支持定义变长数组,但是c99增加了相关内容,而dev c++编译器实现了这点,于是我的代码在dev c++中就是对的。
re: C/C++刁钻问题各个击破之细说sizeof 二狗子_五哥 2011-08-10 21:38
@Hsssssss
vs中c/c++编译器跟vc雷同,不支持动态数组定义,我举的例子是有前提的,您不能把那个前提抛开来看问题啊。
re: C/C++刁钻问题各个击破之细说sizeof 二狗子_五哥 2011-08-10 21:36
@Hsssssss
我之前说得很清楚,必须在支持动态数组定义的编译器中才能那么用,c99标准中新增加了动态数组的定义,vc没有完全实现c99因此不能那么用,但是dev c++可以的。vc,vs不能定义数组要求其长度是常量,当然不能编译了,但是dev c++用的是gcc编译器,它支持动态数组定义,如果不信的话,你可以在windows环境下用dev c++编译器试试,或者在linux环境下试试
re: C/C++刁钻问题各个击破之细说sizeof 二狗子_五哥 2011-08-10 11:23
@zuhd
谢谢....
re: C/C++刁钻问题各个击破之细说sizeof 二狗子_五哥 2011-08-10 11:23
@kkk
在支持动态数组的平台上sizeof同样能计算数组的大小,因此不能简单地说sizeof是编译时计算结果的,比如在dev C++下如下语句能计算数组大小:
int len;
cin>>len;
int array[len];
cout<<sizeof(array);
输出结果跟你输入的len的大小有关,这充分说明sizeof能在运行时求值!
re: C/C++刁钻问题各个击破之细说sizeof 二狗子_五哥 2011-08-10 11:20
@ZhangShine
呵呵,没打算写书哈,写出来就是为了交流而已