タグ付けされた質問 「templates」

テンプレートタグは、汎用プログラミング(特にC ++)、およびテンプレートエンジンを使用したデータ/ドキュメントの生成など、複数のコンテキストで使用されます。このタグを実装の重い質問に使用する場合-実装が記述されているコード言語にタグを付けます。


8
* ngIf else ifテンプレート内
*ngIfステートメントで複数のケースをどのように持つのですか?私は持ってVueのか、角度1に慣れてif、else ifとelse、それだけで持っている角度4のように思えるtrue(if)とfalse(else)の条件を。 ドキュメントによると、私はできるだけです: <ng-container *ngIf="foo === 1; then first else second"></ng-container> <ng-template #first>First</ng-template> <ng-template #second>Second</ng-template> <ng-template #third>Third</ng-template> しかし、私は複数の条件(何かのようなもの)を持ちたいです: <ng-container *ngIf="foo === 1; then first; foo === 2; then second else third"></ng-container> <ng-template #first>First</ng-template> <ng-template #second>Second</ng-template> <ng-template #third>Third</ng-template> しかしngSwitch、結局ハックのように感じるを使用する必要があります。 <ng-container [ngSwitch]="true"> <div *ngSwitchCase="foo === 1">First</div> <div *ngSwitchCase="bar === 2">Second</div> <div *ngSwitchDefault>Third</div> …


24
ASP.NETでHTML /電子メールテンプレートを設定できますか?
かなりの数のメールを送信するサイトに取り組んでいます。ヘッダーとフッターの両方のテキスト、またはテンプレートを設定して、必要に応じてユーザーがこれらの電子メールを簡単に編集できるようにしたいと考えています。 HTMLをC#文字列リテラル内に埋め込むと、醜く、エスケープについて心配する必要があります。ヘッダーとフッターにフラットファイルを含めることは機能するかもしれませんが、それについて何かが正しくないと感じます。 どういう.ASPXわけか、ページをテンプレートとして使用するのが理想的であり、コードにそのページを提供するように伝え、メールに返されたHTMLを使用するだけです。 これを行う簡単で簡単な方法はありますか?この問題を解決するより良い方法はありますか? 更新: 標準の.aspxページをメールテンプレートとして使用できるようにする回答を追加しました。通常と同じようにすべての変数を置き換えたり、データバインディングを使用したりします。次に、ページの出力をキャプチャしてください。HTMLメールが届きました。 警告付きで更新!!!: 一部のaspxページでMailDefinitionクラスを使用していたのですが、実行中のサーバープロセス中にこのクラスを使用しようとすると失敗しました。MailDefinition.CreateMailMessage()メソッドは、常に何かを実行するわけではありませんが、参照するには有効なコントロールが必要なためです。このため、aspxページを使用する私のアプローチ、またはascxページを使用するMunのアプローチをお勧めします。
97 c#  asp.net  email  templates 

15
テンプレート化されたC ++クラスを.hpp / .cppファイルに分割することは可能ですか?
.hppと.cppファイルに分割されているC ++テンプレートクラスをコンパイルしようとするとエラーが発生します。 $ g++ -c -o main.o main.cpp $ g++ -c -o stack.o stack.cpp $ g++ -o main main.o stack.o main.o: In function `main': main.cpp:(.text+0xe): undefined reference to 'stack<int>::stack()' main.cpp:(.text+0x1c): undefined reference to 'stack<int>::~stack()' collect2: ld returned 1 exit status make: *** [program] Error 1 これが私のコードです: stack.hpp: #ifndef _STACK_HPP #define …

8
initializer_listおよび移動セマンティクス
から要素を移動することはできstd::initializer_list<T>ますか? #include <initializer_list> #include <utility> template<typename T> void foo(std::initializer_list<T> list) { for (auto it = list.begin(); it != list.end(); ++it) { bar(std::move(*it)); // kosher? } } 以来std::intializer_list<T>、特別なコンパイラの注意を必要とし、C ++標準ライブラリの通常のコンテナのような値のセマンティクスを持っていない、私はむしろ後悔するより安全であると聞いて思います。

7
C ++ 11で列挙型クラスの値を出力するにはどうすればよいですか
enum classC ++ 11での値を出力するにはどうすればよいですか?C ++ 03では次のようになります。 #include <iostream> using namespace std; enum A { a = 1, b = 69, c= 666 }; int main () { A a = A::c; cout << a << endl; } c ++ 0xでは、このコードはコンパイルされません #include <iostream> using namespace std; enum class A { a …

4
異なるオブジェクトを使用する場合のテンプレート特殊化の複数の定義
異なるオブジェクトファイルで特殊なテンプレートを使用すると、リンク時に「複数定義」エラーが発生します。私が見つけた唯一の解決策は「インライン」関数を使用することですが、それはいくつかの回避策のようです。「インライン」キーワードを使用せずにそれを解決するにはどうすればよいですか?それが不可能な場合、なぜですか? 次にコード例を示します。 paulo@aeris:~/teste/cpp/redef$ cat hello.h #ifndef TEMPLATE_H #define TEMPLATE_H #include <iostream> template <class T> class Hello { public: void print_hello(T var); }; template <class T> void Hello<T>::print_hello(T var) { std::cout << "Hello generic function " << var << "\n"; } template <> //inline void Hello<int>::print_hello(int var) { std::cout << "Hello …
95 c++  templates 


4
明示的なテンプレートのインスタンス化-いつ使用されますか?
数週間の休憩の後、私は本「テンプレート-デビッドヴァンデヴォーデとニコライM.ジョスティスによる完全ガイド」でテンプレートの知識を拡大および拡張しようとしています。現時点で理解しようとしているのは、テンプレートの明示的なインスタンス化です。 。 メカニズム自体には問題はありませんが、この機能を使いたい、あるいは使いたいという状況は想像できません。誰かが私にそれを説明することができれば、私はもっと感謝するでしょう。
95 c++  templates 

30
C#のどのReSharper 4+ライブテンプレートを使用していますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。私たちは回答が事実、参考文献、または専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張された議論を誘います。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 8年前に閉鎖。 C#用のどのReSharper 4.0テンプレートを使用していますか? これらを次の形式で共有しましょう。 [題名] オプションの説明 ショートカット:ショートカット 使用可能な場所: [AvailabilitySetting] // Resharper template code snippet // comes here マクロのプロパティ(存在する場合): Macro1-値-EditableOccurence Macro2-値-EditableOccurence 回答ごとに1つのマクロをお願いします。 以下は、推奨される形式でライブテンプレートを説明するNUnitテストフィクスチャとスタンドアロンNUnitテストケースのサンプルです。

6
グラントタスクでコマンドを実行する
私のプロジェクトではGrunt(JavaScriptプロジェクト用のタスクベースのコマンドラインビルドツール)を使用しています。カスタムタグを作成しましたが、それにコマンドを実行できるかどうか疑問に思っています。 明確にするために、私はクロージャテンプレートを使用しようとしています。「タスク」はjarファイルを呼び出して、Soyファイルをjavascriptファイルにプリコンパイルする必要があります。 コマンドラインからこのjarを実行していますが、タスクとして設定したいと思います。

4
タイプではないテンプレートパラメータ
型ではないテンプレートパラメータは定数積分式でなければならないことを理解しています。誰かが光を当てることができるのはなぜですか? template <std::string temp> void foo() { // ... } error C2993: 'std::string' : illegal type for non-type template parameter 'temp'. 定数積分式とは何かを理解しています。std::string上記のスニペットのように非定数型を許可しない理由は何ですか?
93 c++  templates 

6
テンプレートクラスからの単一メソッドのテンプレート特殊化
テンプレートクラスを含む次のヘッダーが少なくとも2つの.CPPファイルに含まれていることを常に考慮して、このコードは正しくコンパイルされます。 template <class T> class TClass { public: void doSomething(std::vector<T> * v); }; template <class T> void TClass<T>::doSomething(std::vector<T> * v) { // Do something with a vector of a generic T } template <> inline void TClass<int>::doSomething(std::vector<int> * v) { // Do something with a vector of int's } ただし、特殊化メソッドのインラインに注意してください。メソッドが複数回定義されているため、リンカエラー(VS2008ではLNK2005)を回避する必要があります。AFAIKの完全なテンプレート特殊化は単純なメソッド定義と同じであるため、私はこれを理解しています。 …

2
何かを「ODR使用」するとはどういう意味ですか?
これは、別の質問のコンテキストで発生しました。 どうやら、クラステンプレートのメンバー関数は、ODRで使用されている場合にのみインスタンス化されます。誰かがそれが正確に何を意味するのか説明できますか?一つの定義規則(ODR)上のWikipediaの記事は「言及していないODR-使用を」。 ただし、規格では次のように定義されています 名前が潜在的に評価される式として表示される変数は、定数式(5.19)に表示されるための要件を満たし、左辺値から右辺値への変換(4.1)がすぐに適用されるオブジェクトでない限り、odrで使用されます。 [basic.def.odr]で。 編集:どうやらこれは間違った部分であり、段落全体にさまざまなものの複数の定義が含まれています。これは、クラステンプレートメンバー関数に関連するものである可能性があります。 オーバーロードされていない関数の名前が、評価される可能性のある式または候補関数のセットのメンバーとして表示される場合、評価される可能性のある式から参照されたときにオーバーロード解決によって選択された場合、純粋仮想関数でない限り、odrが使用されます。関数とその名前は明示的に修飾されていません。 しかし、このルールが複数のコンパイルユニットでどのように機能するのかわかりません。クラステンプレートを明示的にインスタンス化すると、すべてのメンバー関数がインスタンス化されますか?

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