問題タブ [c++14]
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++ - const参照としてのラムダキャプチャ?
const
ラムダ式で参照によってキャプチャすることは可能ですか?
たとえば、以下にマークされた割り当てを失敗させたい:
更新:これは古い質問であるため、これを支援する機能が C++14 にある場合は更新することをお勧めします。C++14 の拡張機能により、const 参照によって非 const オブジェクトをキャプチャできますか? ( 2015年8月)
ide - C++14対応エディタ/IDE
C/C++ 用の強力なプログラミング環境を探しています。実際、必要なのは強力なソース ナビゲート + 作成ツールだけだと思います。無料か商用かは関係ありません。Linux ツールが好きですが、必要な Linux アプリである必要はありません。
私が必要としているのは、次の機能を備えたある種のエディターです。
- より多くの開いているファイル + タブ/バッファの切り替え
- 強調表示 (+ ブラケットの一致、折りたたみなど...)
- セッションを保存
- プレビュー ウィンドウ (カーソルがシンボル上で停止すると、そのシンボルの定義を表示するプレビュー ウィンドウも表示されます)
- コードによる記号の使用の検索
- インテリジェント補完 (c++ 14 をサポートする必要があります!)
何がいいでしょう:
- コード美化器または類似のもの
- utf-8 のサポート
- エディター テンプレート (たとえば、モジュール、関数の自動コメント ヘッダーなど)
- その他のエディターのスクリプト
- プログラムからアクセス可能な端末/コンソール || デバッグ機能のコンパイル (コマンド ラインに広範囲に切り替えることなく、プロジェクト全体をコンパイルできるようにするためだけに)
- プログラム フローの視覚化
そのすべてを知っている、世界中の誰かが何かを知っていますか?
いくつかのエディター/IDE を試しましたが、どれも何かが欠けています。私は、新しい c++14 のサポートが欠けていることを強調することに決めました - それはおそらく最大の問題です:
VIM
- 驚くべきスクリプト機能
- 4 および 6: vim+ctags+cscope および vim+gtags + omnicomplete を使用しようとしました。
しかし、それほど使い物にはなりません。これは正しく動作しません。Vim は c++ を認識せず、シンボル コンテキストも認識しません。vimスクリプトを何時間も学習した後、基本的に望ましい動作を達成することができましたが、もう少し複雑な方法でそれを使用することはできません.(同じ名前で異なるグローバル変数とローカル変数があるとしましょうタイプ - vim ofc は、現在グローバルまたはローカルのみの変数を見ているかどうかを認識しません.名前空間などについても話していません....)。実際、VIM は clang(libclang) の助けを借りて c++14 をサポートするようになり、libclang を使用できる YouCompleteMe という素晴らしいプラグインがあり、そのオートコンプリートは c++14 コードで実際に機能します!そして、vim は c++14 をサポートする唯一のエディターになります。. このプラグインは、多かれ少なかれより多くのエディター (vim、emacs、sublime) で使用できるようになりました。オートコンプリート、定義へのジャンプ、エラー メッセージを追加します。 - c++14 をサポート
ソース インサイト
- 驚くべき強調表示機能 (強調表示用の異なるフォントは驚くべきものです (特に関数定義ヘッダーの関数名など)。また、キーボード ショートカットを割り当ててフォントの違いをキャンセルし、色の強調表示のみを残す可能性もあります (異なるコード配置に悩まされている場合) (フォントが違うので)
- 1) の問題点 (ただし、このためのハッキングされた TabsSiPlus というライブラリが存在します)
- 端末/コンソールなし
- ソフトウェアはもはや保守されておらず、オープンソースではありません (そして無料ではありません) :(((
- c++14 サポートがありません
スリック編集
- 驚くべきカスタマイズの可能性、vim 編集スタイルをエミュレートできます (WOW!)
- 端末/コンソールなし(実際にはありますが、それほど良くはありませんが、コンパイル機能が組み込まれています
- 奇妙な GUI があります - 多くのスペースがスクロールバーやさまざまなウィンドウ キャプションなどで占められています。
- ちょっと高い(他と比べて)
- c++14 サポートがありません
Kdevelop4
- 非常に快適な GUI、優れたコンソール、非常に高速、vi 編集スタイルをエミュレートできます (あまりよくありませんが)。
- プロジェクトの強制再スキャン/再タグ付けの失敗 (特に大きなプロジェクトでは、間違ったシンボル参照がある場合があります - これは私を大いに悩ませます)
- プレビュー ウィンドウには定義が表示されず、定義への参照のみが表示され、定義はメイン編集ウィンドウに表示されます.. - 実際のコードとシンボル定義を一度に表示することはできません :((
- c++14 サポートがありません
エクリプス
- 多くの機能を備えた素晴らしい環境。
- ad4) はありませんが、プレビュー バブルのようなものがあります。シンボルにマウス カーソルを合わせると、シンボルの定義を含むバブルが表示されます。素晴らしい機能ですが、残念ながらマウスを使用する必要があり、別のプレビュー ウィンドウとして使いやすいとは言えません。
- また、少し遅いですが、リアルタイムの構文チェックが原因だと思います。おそらく無効になるでしょう。
- c++14 サポートがありません
Emacs
- vim(YouCompleteMe) と同様のプラグインで c++14 をサポートします (Vim セクションを参照)。
- 熟達した Emacs ユーザーがこのセクションに記入できますか?
- c++14 をサポート
崇高なテキスト 3
- 無料ではありません
- vim(YouCompleteMe) と同様のプラグインで c++14 をサポートします (Vim セクションを参照)。私はそれでいくつかの問題を抱えていましたが。プラグインは私にとって Vim よりも不安定でした。
- さまざまなプラグインを介して、vim とほぼ同じ機能 (ユーザー ビューから) をサポートします。
- c++14 をサポート
上記のリストから何かを実行できる別のエディター、または要求された機能を実現できるプラグイン/スクリプトを使用している人はいますか?
c++ - C++ [[非推奨]] 属性に関する情報はどこにありますか
C++11 の属性を説明するリンクが送られてきました。[[deprecated]]
これは非常に便利に思えます。それに関する詳細情報 (どのコンパイラがサポートしているか、完全なドキュメントなど) を知りたいです。
私は20分ほどグーグルで調べましたが、リンクされたウェブサイトを除いて、これに関する情報はどこにも見つかりませんでした. 部分的には、C++11 に関連する「非推奨」という言葉の他の使用法と、検索エンジンが[[
. これは、さまざまなSOの回答にリンクされているドラフト標準でも見つかりませんでした。完全な有料の標準にアクセスできません。
[[deprecated]]
この属性について詳しい情報を持っている人はいますか?
PS: 興味がある場合は、これをhttps://stackoverflow.com/a/295229/599884のより良い代替手段として使用します
c++ - static_if はテンプレートの特殊化を廃止しますか?
次のような通常のテンプレートの特殊化:
次のように表すことができますstatic_if
。
これらは直接競合する機能ですか? テンプレートの特殊化でstatic_if
できないことはできますか? static_if
テンプレートの特殊化でできることはすべてできるようです。
余談ですがstatic_if
、このコンテキストはあまり好きではありません。これは、特定の状況でインターフェイスのどの部分を使用できるかがわかりにくくなる可能性があるためです。場合によっては、テンプレートの特殊化により、より明確な構文が提供される可能性があります。
c++ - これまでにC++1yに追加された言語機能
これまでにC++1yワーキングペーパーに受け入れられた言語機能のリストをどこかに見つけることができますか?できれば、マージされた提案ペーパーへのリンクがありますか?
http://gcc.gnu.org/gcc-4.8/changes.htmlは、N3386(「通常の関数のリターン型の推論」)が受け入れられた可能性があることを示唆していますが、これを公式にチェックする場所はどこにあるのでしょうか(手動以外)最新のワーキングドラフトを調べて、論文の提案された文言がマージされているかどうかを確認します)。
c++ - C++11: std::array の初期化を修正しますか?
次のように std::array を初期化すると、コンパイラは中かっこがないという警告を表示します
これで問題が解決します。
これは警告メッセージです:
これは私のバージョンの gcc の単なるバグですか、それとも意図的に行われていますか? もしそうなら、なぜですか?
c++ - テンプレートパラメータとしてのクラスメンバーへのポインタ
次のように、クラスメンバーへのポインタをテンプレートパラメータとして使用したいと思います。
このような構造体を使用すると問題なく動作しますが、とMyStruct<SomeClass, SomeResult, &SomeClass::value> variable
を指定する必要があるのは好きではありません。SomeClass
SomeResult
MyStruct<&SomeClass::value> variable
可能であれば使用したいのですが、クラスをパスして結果タイプを取得する機能を失うことはありません。
次のことを試しましたが、構文が不正です。
エラー:テンプレートパラメータリストが多すぎます
ヘルパー関数を使用してみました(実際にはClangで機能しますが、GCCによって拒否されます)。
エラー:関数本体の外部でのパラメーター `member'の使用
エラー:テンプレート引数3が無効です
シンプルMyStruct<&SomeClass::value>
にすることは可能ですか?もしそうなら、どのように?
私の質問を解決しなかった関連する質問:
c++ - ブースト範囲ライブラリは、次の C++ 標準の一部になる予定ですか?
コードで範囲ベースのアルゴリズムを使用できるかどうかを判断しようとしています。C++ 標準の一部である可能性が高い場合は、新しいコードでブーストから使用できます。イテレーターよりもはるかに優れているように見えますが、他のユーザーがプロジェクトをレビューして貢献するのが難しくなる可能性があります。ここの論文のリストには見つかりませんでした。http://www.meetingcpp.com/