C++ 运算符中的 Python 等效项[关闭]
Posted
技术标签:
【中文标题】C++ 运算符中的 Python 等效项[关闭]【英文标题】:Equivalent of Python in C++ operator [closed] 【发布时间】:2019-11-23 17:48:03 【问题描述】:有没有办法在 C++ 中做同样的事情?
Python
int.__add__(1, 1)
我可以用 C++ 做一些东西,但它仍然很丑,而且没有经过优化和简短。
我只想要这个:1+1
,但是没有 +
。
我绝对想使用 int "class"。
用于矩阵乘法、加法和减法... 我只是想要更好看更短的代码。
【问题讨论】:
你如何定义一个函数int add(int a, int b) return a + b;
并像int r = add(1, 1);
一样使用它
int
不是一个类。
给出一些上下文:为什么?
有std::plus
,但除非你非常清楚为什么需要它,否则你不想使用它。
接受不同的语言工作不同和你必须适应你目前使用的任何语言怎么样..? C++ 不是 Python,永远不会。 Python 不是 C++,以后也不会。它们是不同的,你必须根据你使用的语言采用不同的编码风格和习语。
【参考方案1】:
我可以用 C++ 做一些东西,但它仍然很丑陋,而且不是很优化而且很短。
上次我检查时,int.__add__(1, 1)
比 1+1
长得多。几乎任何东西都比1+1
长。至于优化,你无法谈论什么更优化,没有测量任何东西。
用于矩阵乘法、加法和减法
相同的整数+
运算符在很多情况下都很有用。矩阵运算就是其中之一。没必要单独挑出来。
我只想要这个:1+1,但没有 +
你想要的是次要的。编程是一项团队运动。你做别人做的事。不仅因为它很可能经过尝试和测试,是切片面包之后最好的东西,还因为如果每个人都以特定的方式做某事而你做的不同,其他人会很难理解你的意思。
这并不是说您不能打破常规并引入创新。人们总是这样做。但他们并没有问任何人怎么做!如果你需要问,你没有能力带领人群。
我只是想要更好看更短的代码。
然后绝对积极地使用+
。不费吹灰之力。
【讨论】:
【参考方案2】:您想使用函数(或仿函数)而不是 +
运算符进行加法。 C++ 有 std::plus
。我不使用 C++,但我认为其中一个或两个应该可以工作:
int a = std::plus(1, 1);
int a = std::plus<int>(1, 1);
【讨论】:
以上是关于C++ 运算符中的 Python 等效项[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
c++ dlib img 中的 Android ImageProxy 等效项
如何创建只能由特定类使用的构造函数。 (C# 中的 C++ Friend 等效项)
IF COL_LENGTH('EMP_NUM','EMPLOYEE') 不为 NULL - ORACLE 中的等效项 [关闭]