問題タブ [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.
c++ - ドット演算子のコストc/c ++
私たちは皆、->vsについて知っています。c / c ++でメンバーにアクセスするための速度の差分ですが、単純なドット演算子の実際のコストの手がかりを見つけるのは難しいです。
address-of-struct + offsetのようなものを想像します。また、offsetは、先行するすべてのメンバーのすべてのsizeof-sの合計であると想定します。これは(大まかに)正しいですか?
それでは、->誰と比べてはるかに速いのでしょうか?二度?
(ここSOでいくつかのasmを見たことがありますが、アクセスは1つの命令であり、魔法があると思います)
また、ローカル変数と比較して、どれくらい遅いですか?
ありがとうございました
編集:
私はそれを正しく尋ねることができなかったと思います。
物事を片付けようとするには:
「->vs。」「ポインタを使用して構造体にアクセスする」と「メンバーに直接アクセスする」という意味でした-(リンク)。
そして、私はただ興味がありました。「わかりました。ドットアクセス自体はどうですか?それは酸っぱいコストがかかります。」それで私は質問をしました。
「ドット演算子のコストc/c ++」自体は、ばかげた/ナンセンス/ナイーブな質問かもしれませんが、それでも私が探していた答えは得られます。今はそれを上手く言うことはできません。
ありがとう
c++ - 「T const&t = C().a;」「a」の寿命を延ばす?
次のシナリオは、C++0x コードとして解釈されます。
Clang と GCC (2011/02 時点のトランク バージョン) の動作は異なります。Clang は寿命を延ばします。GCC は新しい一時オブジェクトに移動B
し、参照をその新しい一時オブジェクトにバインドします。
どちらの動作も、標準の言葉から導き出すことができるとは思いません。式A().b
は一時的なものではありません (5.2.5 を参照)。誰か私に次のことを説明してもらえますか?
- 望ましい行動(委員会の意図)
- FDIS から導き出した動作
ありがとう!
matlab - ドット演算子「.*」、「./」、「.^」など、Matlab の行列に適用される比較演算子はありますか
私はこのような関数 f を持っています
そしてスクリプト
このスクリプトを実行すると、次のエラーが発生しました。Z はスカラーやベクトルではなく、行列である必要があります。
これは、ここの x と y がスカラー値ではなく 2 つの配列であるためです。変更すると、スクリプトを実行できます
問題は、新しい関数が最初の関数よりもはるかに遅く実行されることです。この場合、この関数で使用される「.*」演算子のように、配列に適用される比較演算子があるかどうかはわかりません
どうもありがとうございました。
objective-c - Objective-C に関する 2 つの質問: フレームワーク リンクと、ドット & 角括弧表現の「自己」
私は今iphone devを学んでいます。今、「iPhone 4 Development」という本を読んでいます。この本を読んでいる間、私はこの本で使用されている Objective-C に関するいくつかの構文について混乱しています。わかりました、ここに私の質問があります:
- フレームワークとヘッダー ファイルのリンク
この本の第 7 章の最後に、「プロジェクトをフレームワークにリンクする」と記載されています。本書ではAudioToolbox.frameworkへのプロジェクトにリンクしています。フレームワークをリンクする代わりにヘッダーファイルを追加しないのはなぜですか? フレームワークへのリンクとヘッダー ファイルの追加の違いは何ですか?
- ドット内の「self」&「[]」式
この本の第 9 章では、サンプル コードでドット演算子と角かっこ式を数回使用し SecondLevelViewController *controller = [controllers objectAtIndex:row];
て SecondLevelViewController *nextController = [self.controllers objectAtIndex:row];
います。では、いつ「自己」を使用する必要がありますか? そうでないときは?
ありがとう、サム
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
、これらの式が異なるのはなぜですか? 誰でも私のためにこれを明確にするのを助けることができますか?
matlab - は何をしますか。オペレーターはmatlabで行いますか?
次のことを行ういくつかのmatlabコードに出くわしました:
通常、.
演算子は要素ごとに次の操作を行うことは知っていますが、それ自体は何をしますか? これは C++ のような単なるサブオブジェクト演算子ですか?
java - ドット演算子内の文字列
これは不可能だと確信していますが(これは非常にひどいプログラミング手法であると考えると)、とにかく質問します。
Javaでは、ドット演算子を使用してメソッド名(または他の何か)の代わりに文字列を使用する方法はありますか?
例:java.stringname.NumericShaper(); ここで、stringname = "awt.font"
私はいくつかの反復コードを反復ループに入れようとしています。たとえば、私の変数の1つは「Settings.can1.baud」であり、ループを通過するたびに「can1」の部分を繰り返したいと思います。おそらくこれを行うためのより良い方法がありますか?
私はJavaプログラミングに慣れていないので、それが意味をなすかどうかはわかりません...
c++ - C++ オブジェクトがドット演算子で機能しない
こんにちは、私は C++ プログラムに取り組んでおり、作成したクラスからいくつかのサンプル オブジェクトを作成することから始めています。オブジェクトを作成していますが、何らかの理由でドット演算子がオブジェクトで機能しません
これはオブジェクト呼び出しです
これがコンストラクタです
ただし、オブジェクトが実際には存在しないかのように、ドット演算子は機能していません
私はプログラムの大部分を別々の部分で制御しているので、カードクラスが配置されているヘッダーファイルの多くのインスタンスがあります。それが問題の一部であるかどうかはわかりません
c++ - (* it)-> method()vs(** it).method
ポインターのベクトル(または他のコンテナー)を反復処理する場合、以下を使用することの利点および/または利点に違いはありますか?
また
haskell - マルチパラメータ関数を持つ haskell のドット演算子
Haskellでポイントフリーの関数を書きたいのですが、物事を簡単にするために、この関数を作りたいとしましょう:
これを改善できます
しかし、aとbを取り除く方法はありますか?