目前我正在开发visual studio 2008中的C ++项目。我有很长的命名空间
System::Drawing::Rectangle
并希望为这些使用别名
namespace SDR = System::Drawing::Rectangle;
但是intellisense不识别这些别名。
我个人不是using
指令的粉丝,我个人的偏好是限定完整的命名空间。但我也不喜欢这些命名空间阻塞编辑器。那么这个intellisense问题有一个解决方法吗?还是我错过了什么?并且提到这些别名是块范围的。
答案 0 :(得分:1)
Rectangle是类型名称,而不是命名空间名称。所以你需要这样做:
namespace SD = System::Drawing;
SD::Rectangle rc(0, 0, 10, 20);
或者这样:
typedef System::Drawing::Rectangle SDR;
SDR rc(0, 0, 10, 20);
谨防那些需要在某一天维护代码并知道你住在哪里的程序员。