所以我有一些像这样的代码:
void foo (int, int);
void bar ( )
{
//Do Stuff
#if (IMPORTANT == 1)
foo (1, 2);
#endif
}
Run Code Online (Sandbox Code Playgroud)
在没有"重要"的情况下进行编译时,我得到一个编译器警告foo已定义且从未被引用.这让我思考(这就是问题).
所以为了解决这个问题,我只是#if (IMPORTANT == 1)在功能定义等地方添加了相同内容...以删除警告,然后我开始怀疑是否有不同的方法来抑制该功能的警告.我正在查看"未使用的"GCC attrib并且不知道函数是否具有我可以设置的相同属性?是否还有另一种方法可以抑制它只抑制那个函数而不是文件的警告?
无论我是应该返回E_NOTIMPL还是E_NOINTERFACE从我的COM服务器方法中,我都设法让自己感到困惑.
我有一个类,我从我继承的类中重写了两个函数,这些函数都没有做任何事情,因为它们目前还没有真正支持,所以我问我应该使用"not implemented"或"no interface"for这些函数返回值?
有没有人有什么时候使用每个的一般经验法则?
在我看来,字典被鼓励定义类和使用类.什么时候应该在课堂上使用字典而另一种方式呢?
例如,如果我想要一个人的字典,每个人都有一个名字和其他属性,有两种简单的方法:
创建一个人的字典.每个键都是人名,值将是人员拥有的所有属性的字典.
创建一个Person包含这些属性的类,然后使用Persons 的字典,将名称作为键,将Person对象作为值.
这两个解决方案似乎都是有效的并且完成了目标,但似乎仍然可以使用python中的字典.实现是不同的,如果我想来回切换,我可能会遇到很多变化,从基于类的实现转到基于字典的实现,反之亦然.
那我该怎么换?