我已经在C#中编程了一段时间,现在我想要提高我的C++技能.
上课:
class Foo
{
const std::string& name_;
...
};
Run Code Online (Sandbox Code Playgroud)
什么是最好的方法(我只想允许对name_字段的读访问):
inline const std::string& name() const { return name_; }谢谢.
我是Objective-c的新手,我想在我的OC类中实现流畅的界面模式.这是我项目中更新和简化的案例:
// .h file
@interface MyLogger : NSObject {
...
}
- (MyLogger*) indent:(BOOL)indent;
- (MyLogger*) debug:(NSString*)message, ...;
- (id) warning:(NSString*)message, ...;
....
@end
// .m file
@implement MyLogger {
- (MyLogger*) indent:(BOOL)indent {
// some codes to set indent or unindent
return self; // I think it should return [self autorelease];
}
- (MyLogger*) debug:(NSString*)message, ... {
// build message and log the message
return [self autorelease];
}
- (id) warning:(NSString*)message, ... {
// similar as above, but log …Run Code Online (Sandbox Code Playgroud) 考虑以下人为的例子:
void HandleThat() { ... }
void HandleThis()
{
if (That) return HandleThat();
...
}
Run Code Online (Sandbox Code Playgroud)
这段代码工作得很好,我很确定它是规范有效的,但我(也许是我自己)考虑这种不寻常的风格,因为调用似乎返回函数的结果,尽管这两个函数都是原型的无效.
通常,我希望看到:
if (That) {HandleThat(); return;}
Run Code Online (Sandbox Code Playgroud)
我觉得,对于发生的事情没有任何含糊之处.
SO社区,我可以看看返回 - 无效编码风格是否令人困惑或有问题?它有成语的感觉; 我应该使用它还是避免使用它?
一般来说,我会努力澄清并使用第二种风格.另一方面,第一种形式的整洁性让我对它有所了解.