问题标签 [dot-operator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
2615 浏览

c++ - 点运算符成本 c/c++

我们都知道 -> vs 。在 c/c++ 中访问成员的速度差异,但我很难找到简单点运算符的实际成本的任何线索。

我想它类似于结构地址 + 偏移量,还假设偏移量是所有先前成员的所有 sizeof-s 的总和。这(大致)正确吗?

然后相比 -> 快得多呢?两次?
(在 SO 上看到了一些 asm,关于 .access 是一条指令,我想它有一些魔力)

另外,与局部变量相比,慢了多少?

谢谢你

编辑:
我猜我没问对。

尝试清理:
通过“-> vs .” 我的意思是“使用指针访问结构”与“直接成员访问”-(链接)。
然后我很好奇:“好吧,点访问本身呢?它确实要花一些钱。” 所以我问了这个问题。

“点运算符成本 c/c++”本身可能是荒谬/无意义/幼稚的问题,但它确实得到了我正在寻找的答案。现在不能说更好。

谢谢

0 投票
4 回答
499 浏览

c++ - 是否“T const&t = C().a;” 延长“a”的寿命?

给出了以下场景,被解释为 C++0x 代码:

Clang 和 GCC(2011/02 的主干版本)的行为不同:Clang 延长了生命周期。GCC 移动B到一个新的临时对象,然后将引用绑定到那个新的临时对象。

我找不到任何一种行为都可以从标准的文字中得出。该表达式A().b不是临时的(见 5.2.5)。任何人都可以向我解释以下内容吗?

  • 期望的行为(委员会的意图)
  • 从 FDIS 得出的行为

谢谢!

0 投票
2 回答
168 浏览

matlab - Matlab中是否有任何比较运算符适用于矩阵,例如点运算符'.*','./','.^'

我有这样的功能

还有一个脚本

运行此脚本时,出现此错误:Z 必须是矩阵,而不是标量或向量。

这是因为这里的 x 和 y 是两个数组,而不是标量值。如果我更改脚本可以运行

问题是新功能的运行速度比第一个慢得多。不知道这种情况下有没有对数组应用比较运算符,比如这个函数中使用的“.*”运算符

非常感谢你。

0 投票
2 回答
110 浏览

objective-c - 关于objective-c的两个问题:框架链接和点&方括号表达式中的“self”

我现在正在学习 iPhone 开发。现在我正在阅读“iPhone 4 Development”一书。在阅读本书的过程中,我对本书中使用的一些关于 Objective-c 的语法感到困惑。好的,这是我的问题:

  • 链接框架与头文件

在本书第 7 章的最后,书中提到了“将项目链接到框架”。在本书中,它链接到 AudioToolbox.framework 的项目。我想知道为什么不只添加头文件而不是链接框架?链接到框架和添加头文件有什么区别?

  • 点中的“self”和“[]”表达式

在本书的第 9 章中,示例代码多次使用点运算符和方括号表达式,例如: SecondLevelViewController *controller = [controllers objectAtIndex:row];SecondLevelViewController *nextController = [self.controllers objectAtIndex:row];认为这两个句子具有相同的功能。那么什么时候应该使用“self”呢?什么时候不?

谢谢,山姆

0 投票
5 回答
56245 浏览

objective-c - 点 (".") 运算符和箭头 ("->") 运算符在 C 与 Objective-C 中的使用

我试图围绕 C 与 Objective-C 在用法和语法方面的一些差异。特别是,我想知道 C 与 Objective-C 中点运算符和箭头运算符的用法有何不同(以及为什么)。这是一个简单的例子。

C代码:

Objective-C 代码:

那么,看看frac两个程序中的相同之处(即它是一个指向 Fraction 对象或结构的指针),为什么它们在访问属性时使用不同的语法?特别是,在 C 中,使用numerator访问属性frac->numerator,但在 Objective-C 中,使用点运算符访问属性,使用frac.numerator。既然frac是两个程序中的指针,为什么这些表达式不同?谁能帮我澄清一下?

0 投票
2 回答
2886 浏览

matlab - 有什么作用。运算符在matlab中做什么?

我遇到了一些执行以下操作的matlab代码:

我知道通常.操作员会按元素进行下一个操作,但它自己做什么?这只是一个子对象运算符,就像在 C++ 中一样?

0 投票
2 回答
424 浏览

java - 点运算符内的字符串

我很确定这是不可能的(考虑到它是如此糟糕的编程实践),但我还是要问。

在 Java 中,有没有办法使用点运算符使用字符串代替方法名称(或其他名称)?

例如:java.stringname.NumericShaper(); 其中字符串名称 = “awt.font”

我正在尝试将一些重复的代码放入迭代循环中。例如,我的变量之一是“Settings.can1.baud”,我想在每次循环时迭代“can1”部分。也许有更好的方法来做到这一点?

我是 Java 编程新手,所以我不确定这是否有意义......

0 投票
4 回答
9382 浏览

c++ - C++ 对象不能与点运算符一起使用

您好,我正在开发一个 C++ 程序,我刚开始从我创建的类中创建一些示例对象。我正在创建对象,但由于某种原因,点运算符无法使用该对象

这是对象调用

这是构造函数

但是点运算符不起作用,就好像对象实际上并不存在一样

我在单独的部分中控制大部分程序,因此有许多头文件实例是卡类所在的位置,我不确定这是否是问题的一部分

0 投票
5 回答
306 浏览

c++ - (*it)->method() 与 (**it).method

当迭代指针的向量(或其他容器)时,使用:

或者

0 投票
2 回答
2015 浏览

haskell - 具有多参数功能的haskell中的点运算符

我想在 haskell 中编写一个无点函数,为了简单起见,可以说我想做这个函数:

我可以将其改进为

但是有没有办法摆脱a和b?