C/C++
shanghaojia_
这个作者很懒,什么都没留下…
展开
-
C/C++ 中的0长数组(柔性数组)
在标准C和C++中0长数组如charArray[0]是不允许使用的,因为这从语义逻辑上看,是完全没有意义的。 但是,GUN中却允许使用,而且,很多时候,应用在了变长结构体中,如: StructPacket { Int state; Int len; Char cData[0]; //这里的0长结构体就为变长结构体提供了非常好的支持 }; 首先对0长数组做一个解释: 用途 :转载 2015-09-13 11:33:40 · 483 阅读 · 0 评论 -
理解C++ dynamic_cast
在面向对象程序设计中,有时我们需要在运行时查询一个对象是否能作为某种多态类型使用。与Java的instanceof,以及C#的as、is运算符类似,C++提供了dynamic_cast函数用于动态转型。相比C风格的强制类型转换和C++ reinterpret_cast,dynamic_cast提供了类型安全检查,是一种基于能力查询(Capability Query)的转换,所以在多态类型间进行转换转载 2015-09-20 10:22:26 · 459 阅读 · 0 评论 -
huawei机试
/* 利用字符重复出现的次数,编写一个方法,实现基本的字符串压缩功能。 比如,字符串"aabcccccaaa"经压缩会变成"a2b1c5a3"。若压缩后的字符串没有变短, 则返回原先的字符串。给定一个string iniString为待压缩的串(长度小于等于3000), 保证串内字符均由大小写英文字母组成,返回一个string,为所求的压缩后或未变化的串。 */ string zipString(原创 2015-09-25 16:41:29 · 770 阅读 · 1 评论