variadic-functions

    46

    3答えて

    va_end - マクロをリセットするarg_ptr。 可変引数リストにアクセスした後、arg_ptrポインタは通常va_end()でリセットされます。リストを再作成する必要がある場合は必須ですが、行っていない場合は本当に必要ですか? 「には常にdefault:が含まれています」というルールのような良い習慣ですか?

    10

    4答えて

    私は4つの変数を持っており、そのうちの1つがnullかどうかをチェックしたいと思います。私は if (null == a || null == b || null == c || null == d) { ... } はなく、私が本当にしたいことは if (anyNull(a, b, c, d)) { ... } で行うことができますが、私はそれを自分自身を記述する

    0

    1答えて

    **主な更新** 私は小さな間違いをしましたが、私はまだ何が起こっているのかについてはまだ不思議です。 私が呼び出しています機能は、実際に「fooV」、このシグネチャを持つ関数である: foo(const char *, const char *, EnumType, va_list) これは私がなっていたAccessViolationExceptionsをクリア、しかしのparamsパラメー

    1

    5答えて

    古典的なCを使用して、このクラスの割り当てを行っています。可変の引数の数と型を取るコールバック関数についてこの問題に固執しています。 基本的には、Hashed Tree(各ノードがハッシュツリーであるツリー)を作成していますが、目的に応じて複数回使用されるトラバーサル戦略があります。 ht_walk(HashTree tree, (*callback)(Element e))であるので、コールバッ

    43

    7答えて

    私はC/C++でこれを行うことを検討しています。 私はVariable Length Argumentsに出くわしたが、これはlibffiを使ってPython & Cとのソリューションを提案しています。 void myprintf(char* fmt, ...) { va_list args; va_start(args,fmt); printf(fmt,args)