問題タブ [variadic]

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 投票する
2 に答える
362 参照

iphone - .gdbinit の可変エイリアス?

これは可能ですか?

具体的な例を作るために、次のマクロを考えてみましょう:

したがって、pos テキストを入力すると、po [self text] に変換されます。しかし、複数の引数を指定すると失敗します。たとえば、pos textLabel テキストは、目的の po [[self textLabel]text] ではなく、po [self textLabel] に変換されます。

別の例として、3 つのコマンドのように

参照されている 3 つのオブジェクトの説明を出力します。整数に対して同じことを行うマクロ pi を定義するとよいでしょう。つまり、

呼び出しと同じです

同様に

0 投票する
3 に答える
3121 参照

function - Haskellには可変個引数関数/タプルがありますか?

このuncurry関数は、次の2つの引数を取る関数に対してのみ機能します。

任意の数の引数を持つ関数をアンカリーしたい場合は、別々の関数を書くことができます。

しかし、これはすぐに面倒になります。これを一般化する方法はありますか?1つの関数を書くだけで済みますか?

0 投票する
1 に答える
2149 参照

c - 入力から文字列を取得する C 可変長関数

可変引数関数の入力値から文字列 (const char*) を取得したいと考えています。しかし、以下のこのコードは機能しません.....実行時エラーが結果です

何か案は?

0 投票する
2 に答える
7115 参照

templates - C++/C++11 - 可変個引数テンプレートの switch ステートメント?

次のような構造体がいくつかあるとしましょう。

ご覧のとおり、3 つの構造体すべてについて、その構造体のオブジェクトに対して DoSomething() を呼び出して動作させることができます (ただし、これは構造体ごとに異なる方法で実現されます)。

ここで、これらの構造体を任意に選択してタプルに入れたとします。

DoSomething()また、これらの要素の 1 つを取得し、実行時に決定されるインデックスに基づいてその関数を実行したいとします。これを実現するには、switch ステートメントを使用できます。

これは問題なくうまく機能しますが、複数の異なる配置 (および 4 要素よりもはるかに長い可能性がある) タプルで実行する必要がある場合、非常に退屈で反復的でエラーが発生しやすくなります。可変個引数テンプレートの要素数に基づいて switch ステートメントを自動的に生成できれば、非常に便利です。擬似コード:

これを実現できる C++11 のメカニズムはありますか? そうでない場合は、テンプレート内の関数ポインターのリストを使用してソリューションをハックできることは間違いありませんが、このようなものが存在するかどうかは興味があります。私の目的により適しているからです。switch ステートメントのコンパイラ生成ジャンプ リストは、自家製の関数ポインター ソリューションよりも効率的であると確信しています。

0 投票する
11 に答える
194386 参照

c# - params キーワードを使用する理由

I know this is a basic question, but I couldn't find an answer.

Why use it? if you write a function or a method that's using it, when you remove it the code will still work perfectly, 100% as without it. E.g:

With params:

Without params:

0 投票する
2 に答える
2098 参照

c++ - C++ 可変長関数テンプレート

可変個引数テンプレートの概念は私にとって非常に紛らわしいので、もう少し複雑にしたいと思います (まあ...)。
次のコードを考えてみましょう。

および実装クラス:

それ、どうやったら出来るの?

0 投票する
1 に答える
140 参照

d - How convert a D array to C variadic?

I would like convert an array in D of the form:

I have a C function which takes a C variadic:

I could do:

But this seems like hacking the C variadic and I would rather convert directly to C vararg,

How can I do this?

thanks

0 投票する
2 に答える
207 参照

c++ - 指定された型とコンストラクターのパラメーターを使用して一時的なものを作成および破棄するC++関数

私のコードには次のようなものがたくさんあります。

中括弧は、オブジェクトの存続期間が制約されていることを確認するために必要です。作業はコンストラクタとデストラクタ(RAIIスタイル)で行われます。これには十分な理由があり、これらのクラステンプレートの他のユーザーは、単に構築および破棄する以上のことを行います。

これを関数呼び出しのようなものに要約するのに便利なイディオムはありますか?可能な場合は強い型付けを保持しますか?

例えば

f<>()次のようなものはどこにありますか?

可変個引数関数を使用してみましたが、大量のコンパイルエラーが発生しました。できればマクロは使いたくないです。ありがとう!

0 投票する
2 に答える
1261 参照

c - ##を認識しないコンパイラの可変個引数マクロでコンマを飲み込む

ゼロ個以上の引数を取る必要がある可変個引数マクロをCで記述する必要があります。

gccでは、これは、コンマの後に「##」を追加することで実現できます。たとえば、引数がゼロの可変個引数マクロで,##____VA_ARGS____回答されます。

ただし、ビルドシステムのコンパイラー(制御不能)は,##構文を理解しないため、コンマを飲み込みません。

使用できる回避策はありますか?

ありがとう!

0 投票する
2 に答える
6671 参照

c++ - 関数の引数としてのタプル

可変タプルを関数の引数として使用する方法と、それを初期化する方法が可能であれば、少し混乱しています。

c++0x を使用してどのように実装できますか?