- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
当然,我想不出有什么理由让我想要覆盖一元&
运算符,但在https://stackoverflow.com/a/4542813/368896中张贴者指出,关于某些类 X
:
...unless X does something really dumb, like overloading the unary & to return this
(注意:我假设此评论指的是 &
运算符返回 this
的事实,而不是覆盖 &
运算符的事实本身。)
当我想到那个评论时,我突然想到“返回这个”正是 &
运算符所做的 - 即使在多重继承的情况下也是如此。 p>
鉴于人们可能永远不想覆盖一元&
运算符,尽管如此,让它返回this
(如果你确实决定覆盖它)?
最佳答案
it occurred to me that "returning this" is exactly what the & operator does
你说得对,尽管 C++ 也禁止获取临时对象的地址。
在 the question you reference 的上下文中,这是关于确定一个对象是否是临时的:
如果您实现自己的返回 this
的 operator &
,您将通过告诉编译器 &(expression)
是永远有效。考虑:
struct foo
{
};
struct bar
{
bar* operator&()
{
return this;
}
};
template <typename T>
void test(const T*)
{
// no temporaries, can't take address of temporary...right?
}
int main()
{
foo x;
test(&x); // okay, x is an lvalue
/*
test(&(foo())); // not okay, cannot take address of temporary
*/
bar y;
test(&y); // still okay, y is an lvalue
test(&(bar())); // huh?! not taking address of temporary, calling operator&
}
关于c++ - 为什么是 "dumb to override the & operator and return *this*"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15464731/
我正在使用智能/转储组件构建我的 Redux (NgRx) 应用程序,但我正在努力决定这些dumb组件应该有多“哑”...... 例如,我有一个智能组件(posts),它有一个dumb组件(post-
有什么方法可以像Vim中的ctrl + p一样在Eclipse中获得“哑”字补全吗? 例如,我经常写一个函数调用: x = getMeAnXPlease(); 然后输入定义: function get
人们可能会认为将 3 个字符的缩写转换为数字表示形式是一项简单的任务。 JavaScript 说“不!”。 $(selector).each(function() { // convert m
如果您需要生成从 1 到 N 的素数,“愚蠢”的方法是遍历从 2 到 N 的所有数字,并检查这些数字是否可以被目前找到的任何素数整除,即小于相关数字的平方根。 在我看来,Eratosthenes 筛法
我创建了一个标准结构的“智能变体”——系统提供了struct canmsg,这种类型的数据是从can设备中读取的,我经常处理这样的帧。 现在,为了更容易处理它们,我创建了一个子类:class TCan
我希望在 golang 中实现远程客户端它通过 nc 连接到 Linux 并启动 bash。所以我需要告诉 bash 我可以从它发送给我的 stdout 中解析哪些功能,以及我将如何将键码和其他内容发
我有一个包含 300,000 个单词及其出现频率的列表的文本文件。每行的格式为 Word:FequencyOfOccurence。我希望可以从 C# 代码中访问此信息。我无法对列表进行硬编码,因为它太
我必须解决 gettext 识别 ES6 模板字符串的限制,并且我考虑将模板字符串的“非内插值”作为编译步骤,以便只有代码中的“正常”字符串。 基本上我想实现的是改变这个 const adjectiv
看看这个简单的示例,其中 prop toggleData 将是映射到容器 props 的 redux thunk 操作。 这是将这样的函数传递给子“哑”组件的推荐方法吗?我在网上读到一篇文章说,从性能
好吧,我不是在谈论业务逻辑决策,而是 UI 决策。 例如,我正在渲染一个表格,其中一列显示日期时间?需要格式化的属性。因为该值可以为空,所以我需要在格式化之前检查它是否不为空。 如果我想迂腐一些,我会
有谁知道在 Google App Engine 中返回包装的 Model 实例的巧妙方法,该实例仅公开一些原始属性,并且不允许将实例保存回数据存储区? 我不是在寻找实际执行这些规则的方法,显然仍然可以
我已经设法了解了 C++ 的一些功能(for_each、映射函数、使用迭代器...),但是用于接收通用容器和迭代器的模板和函数参数列表的构造仍然让我难以理解。我有一个实际的例子,希望有人能为我说明:
当然,我想不出有什么理由让我想要覆盖一元&运算符,但在https://stackoverflow.com/a/4542813/368896中张贴者指出,关于某些类 X: ...unless X doe
文章中Better web typography in a few simple steps , 它说 Talking about apostrophes, the correct sign for
我希望这个问题不要被标记为主要是基于意见的,而是有一个客观的答案。 我已阅读 Introducing dumb-init, an init system for Docker containers ,
愚蠢的引用是那些直接出现的引用。智能引号 curl 并且它们 curl 在正确的方向。我认为规则如下: 如果引用位于单词开头,则会向右 curl 。 如果引号位于单词开头,后面跟着另一个引号或分组符号
所以我正在研究一种“中级”级别的 react 项目。我了解基础知识,但不知道某些事情的最佳实践。 让我们假设我正在将一个函数传递给一个“哑”组件,在这个dumb组件中有一个按钮,它是对父函数 Edit
我正在尝试从工作本地服务器导出一个相当复杂的 mySQL 数据库,上传到在线服务器,以便协作者只读其中的数据。 数据库有多个外键,每个表都有一个主键。然而,由于不会将任何数据添加到这个愚蠢的“影子”副
struct A { A(int a); }; struct B { B(); void b(std::shared_ptr a); }; int main() { A
我问的原因是我们想使用 MySQL 当前不支持的特定 CHECK 约束。如果没有这种类型的约束,使用外键和参照完整性的全部原因似乎会随着应用程序代码承担更多数据库的责任而减少。 如果我们要创建一个“哑
我是一名优秀的程序员,十分优秀!