相关疑难解决方法(0)

如何使我的自定义类型与"基于范围的for循环"一起使用?

像许多人一样,我一直在尝试C + 11带来的不同功能.我最喜欢的一个是"基于范围的循环".

我明白那个:

for(Type& v : a) { ... }
Run Code Online (Sandbox Code Playgroud)

相当于:

for(auto iv = begin(a); iv != end(a); ++iv)
{
  Type& v = *iv;
  ...
}
Run Code Online (Sandbox Code Playgroud)

而这begin()只是返回a.begin()标准容器.

但是,如果我想让我的自定义类型"基于范围的循环" - 意识到什么?

如果我只是专注begin()end()

如果我的自定义类型属于命名空间xml,我应该定义xml::begin()还是std::begin()

简而言之,这样做的准则是什么?

c++ customization for-loop c++11

230
推荐指数
5
解决办法
7万
查看次数

C++命名:read_input()与readInput()

在C++中哪种命名约定更可取?该下划线方法或驼峰方法?我用Java编写了一段时间,我已经习惯了camelCase命名约定.哪个更普遍?

此外,在定义类时,是否有私有/公共/受保护变量/方法的首选顺序?
朋友通常到底放在一边吗?
那么typedef,它们是否位于类定义的顶部?

c++ naming-conventions

16
推荐指数
4
解决办法
2万
查看次数

标签 统计

c++ ×2

c++11 ×1

customization ×1

for-loop ×1

naming-conventions ×1