c++ - 如何让CPP核心功能成为我类的 friend

标签 c++

请帮帮我。我想让我的类符合范围声明。这意味着我需要定义所需的重载运算符并定义开始和结束函数。

我不希望除 range 之外的其他任何东西都能够使用定义的 begin 和 end 函数。仅仅是因为否则就不需要它了。

我怎样才能使 range for statement 成为我类(class)的 friend ?

最佳答案

不可能将 begin/end 的使用限制在 range-for 语句中,因为它被定义为等同于certain compound statement在没有任何特殊访问权限的情况下查找它们。最接近的是制作它们 hidden friends ,但是当他们的参数是有问题的类类型时,这并没有隐藏他们!

关于c++ - 如何让CPP核心功能成为我类的 friend ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50499478/

相关文章:

C++ 嵌套结构的 typedef(元类)编译错误

c++ - _T 在 CString 中代表什么

c++ - 想要在 OSX 上的 OpenCV 中实时镜像视频,不知道从哪里开始

c++ - 排除一种类型的模板

c++ - 适当使用 friend ?容器类旨在操纵特定类型的对象

c++ - 由于 vector 中的值作为函数参数,程序在编译时失败

c++ - C/C++ 中的 svg 示例

c++ - 我应该如何实现一个在 C++ 中接受未知数量参数的数组构造函数?

c++ - 使用类成员函数作为比较器调用 std::equal 时出错

c++ - 在多个文件中使用时包含全局 vector 时出错