タグ付けされた質問 「c++」

C ++は汎用プログラミング言語です。もともとCの拡張として設計され、構文は似ていますが、現在は完全に異なる言語になっています。このタグは、C ++コンパイラでコンパイルされる(される)コードに関する質問に使用します。特定の標準リビジョン[C ++ 11]、[C ++ 14]、[C ++ 17]または[C ++ 20]などに関連する質問には、バージョン固有のタグを使用します。

16
C ++再定義ヘッダーファイル(winsock2.h)
ヘッダーファイルが2回含まれないようにするにはどうすればよいですか?問題は、でMyClass.hそして私は含めていMyClass.hを多くのファイルには、それは複数回含まれており、再定義エラーが発生しました。防ぐ方法は? インクルードガードの代わりに#pragmaを1回使用していますが、それで問題ありません。 MyClass.h: // MyClass.h #pragma once #include <winsock2.h> class MyClass { // methods public: MyClass(unsigned short port); virtual ~MyClass(void); }; 編集:私が得ているエラーのいくつか c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(91) : warning C4005: 'AF_IPX' : macro redefinition c:\program files\microsoft sdks\windows\v6.0a\include\winsock.h(460) : see previous definition of 'AF_IPX' c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(124) : warning C4005: 'AF_MAX' : macro …
143 c++  header  redefinition 

10
C ++ 11の関数の「最終」キーワードの目的は何ですか?
finalC ++ 11の関数のキーワードの目的は何ですか?派生クラスによる関数のオーバーライドを防ぐことは理解していますが、これが当てはまる場合は、final関数を非仮想として宣言するだけで十分ではないでしょうか?私がここで見逃している別のものはありますか?
143 c++  c++11  final 

4
TensorFlow、なぜPythonが選ばれた言語なのですか?
最近、ディープラーニングやその他のML手法の研究を開始し、ネットの構築とトレーニングのプロセスを簡略化するフレームワークの検索を開始したところ、TensorFlowはフィールドでの経験がほとんどないことがわかりました。ディープラーニングを使用する場合に大きなMLシステムをさらに作成するための大きな要因、それでTensorFlowを作成するためになぜpythonがGoogleによって選ばれたのですか?コンパイルして解釈できない言語で作成した方がいいのではないでしょうか。 機械学習でC ++などの言語よりもPythonを使用する利点は何ですか?

11
intをstd :: stringに変換する
intを文字列に変換する最も簡単な方法、できればインライン化できるものは何ですか?stlとboostを使用した回答は歓迎されます。
143 c++  string  int 

14
C ++ 11の再帰的ラムダ関数
C ++ 11は初めてです。次の再帰的なラムダ関数を書いていますが、コンパイルできません。 sum.cpp #include <iostream> #include <functional> auto term = [](int a)->int { return a*a; }; auto next = [](int a)->int { return ++a; }; auto sum = [term,next,&sum](int a, int b)mutable ->int { if(a>b) return 0; else return term(a) + sum(next(a),b); }; int main(){ std::cout<<sum(1,10)<<std::endl; return 0; } …
143 c++  c++11  lambda 

2
コンパイル時の-pthreadフラグの重要性
さまざまなマルチスレッドのCおよびC ++プロジェクトで-pthread、コンパイルステージとリンクステージの両方にフラグが適用されるのを見ましたが、他の人はまったく使用せず-lpthread、リンクステージに渡しています。 -pthreadフラグを使用してコンパイルおよびリンクしないという危険はあり-pthreadますか?つまり、実際には何をしますか?私は主にLinuxプラットフォームに興味があります。
143 c++  c  linux  pthreads 

9
クラス名を保持する文字列からオブジェクトをインスタンス化する方法はありますか?
私はファイルを持っています:Base.h class Base; class DerivedA : public Base; class DerivedB : public Base; /*etc...*/ および別のファイル:BaseFactory.h #include "Base.h" class BaseFactory { public: BaseFactory(const string &sClassName){msClassName = sClassName;}; Base * Create() { if(msClassName == "DerivedA") { return new DerivedA(); } else if(msClassName == "DerivedB") { return new DerivedB(); } else if(/*etc...*/) { …

13
エラーLNK2019:未解決の外部シンボル_WinMain @ 16が関数___tmainCRTStartupで参照されています
以下のような単純なコードを実行しているときに、次の2つのエラーが発生します。 #include <iostream> #include <string> using namespace::std; template <class Type> class Stack { public: Stack (int max):stack(new Type[max]), top(-1), maxsize(max){} ~Stack (void) {delete []stack;} void Push (Type &val); void Pop (void) {if (top>=0) --top;} Type& Top (void) {return stack[top];} //friend ostream& operator<< (ostream&, Stack&); private: Type *stack; int top; const …


6
_DEBUGとNDEBUG
コードのデバッグセクションを指定するには、どのプリプロセッサ定義を使用する必要がありますか? 使用する#ifdef _DEBUGか#ifndef NDEBUG、それを行うためのより良い方法があり#define MY_DEBUGますか? _DEBUGVisual Studio固有と思いますが、NDEBUGは標準ですか?
142 c++  c  debugging 

6
多くのC ++標準ライブラリコードで不等式が(!(a == b))としてテストされるのはなぜですか?
これは、C ++標準ライブラリremoveコードのコードです。if (!(*first == val))ではなく、なぜ不等式がテストされるのif (*first != val)ですか? template <class ForwardIterator, class T> ForwardIterator remove (ForwardIterator first, ForwardIterator last, const T& val) { ForwardIterator result = first; while (first!=last) { if (!(*first == val)) { *result = *first; ++result; } ++first; } return result; }
142 c++ 

4
値渡しはC ++ 11の妥当なデフォルトですか?
従来のC ++では、値による関数やメソッドへの受け渡しは、ラージオブジェクトの場合は遅く、一般に不満を抱きます。代わりに、C ++プログラマーは参照を渡す傾向がありますが、これは高速ですが、所有権、特にメモリ管理(オブジェクトがヒープに割り当てられている場合)に関するあらゆる種類の複雑な質問が生じます。 これで、C ++ 11には、Rvalue参照と移動コンストラクターがあります。つまりstd::vector、値を関数に渡したり、関数から渡したりするのが簡単な(のような)ラージオブジェクトを実装することができます。 では、これは、デフォルトでは、std::vectorやなどの型のインスタンスの値で渡す必要があることを意味しますstd::stringか?カスタムオブジェクトについてはどうですか?新しいベストプラクティスは何ですか?
142 c++  coding-style  c++11 

4
C ++のヘッダーファイルで宣言して、ソースファイルで静的メソッドを定義する
C ++で静的メソッドを操作するときに少し問題があります 例.h: class IC_Utility { public: IC_Utility(); ~IC_Utility(); std::string CP_PStringToString( const unsigned char *outString ); void CP_StringToPString( std::string& inString, unsigned char *outString, short inMaxLength ); static void CP_StringToPString( std::string& inString, unsigned char *outString); void CP_StringToPString( FxString& inString, FxUChar *outString); }; 例.cpp: static void IC_Utility::CP_StringToPString(std::string& inString, unsigned char *outString) { …

5
ステートチャート対メタステートマシンの強化
明らかにboostには、ステートマシン用の2つの個別のライブラリが含まれています。ステートチャートとメタステートマシン(MSM)です。タグラインは非常によく似た説明を与えます: Boost.Statechart-任意に複雑な有限状態マシンは、簡単に読み取りおよび保守可能なC ++コードで実装できます。 Meta State Machine-表現力豊かなUML2有限状態マシン用の非常に高性能なライブラリ。 重要な違いは何か、2つを選択する際の考慮事項は何ですか?

7
newなしでc ++でコンストラクターを呼び出す
私は人々がC ++でオブジェクトを作成することをよく見ました Thing myThing("asdf"); これの代わりに: Thing myThing = Thing("asdf"); 少なくともテンプレートが含まれていない限り、これは(gccを使用して)機能するようです。私の質問は、最初の行が正しいのですか、そうであればそれを使用する必要がありますか?
142 c++ 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.