繁体   English   中英

C ++ typedef问题

[英]C++ typedef question

如果我做一个typedef someobject* pntr ;

我可以使用此typedef来使指针指向someobject类型的对象。 但是我也可以使用由这个typedef制成的指针来指向某对象的数组吗?

是:

pntr p = new someobject[10];

但是,在C ++和C中,使用typedef掩盖某些东西是指针这一事实被认为是较差的样式,因此请不要这样做。

是的,但不要typedef指针类型。 const pntrconst someobject*不会是同一件事(前者意味着指针本身是常数;后者意味着指针是常数,这通常是需要的)。

是。 数组语法实际上只是指定一个内存地址以查找您的类型(对象)。 在计算类型的指针数学运算时,使用typedef将揭示前进的距离(在内存中)。

例如,如果您有一个someObject数组,那么当您从someObjectArray [0]转到someObjectArray [1]时,编译器需要typedef信息才能将指针向前移动到内存中的正确位置

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM