Questions tagged «templates»

template标记用于多种环境:通用编程(尤其是C ++),以及使用模板引擎生成数据/文档。在实现上有很多疑问时使用此标记-标记实现所使用的代码语言。

5
如何在mustache.js中完成if / else?
我不知道如何在胡须中做到这一点似乎很奇怪。支持吗? 这是我尝试的尝试: {{#author}} {{#avatar}} <img src="{{avatar}}"/> {{/avatar}} {{#!avatar}} <img src="/images/default_avatar.png" height="75" width="75" /> {{/avatar}} {{/author}} 这显然是不对的,但是文档中没有提到这样的内容。甚至没有提到“其他”这个词:( 另外,为什么胡须是这样设计的?这种事情被认为是坏事吗?是否要强迫我在模型本身中设置默认值?在不可能的情况下呢?

11
如何在Java中使用Class <T>?
在这个问题上,对泛型及其背后的作用进行了很好的讨论,因此我们都知道泛型Vector&lt;int[]&gt;是整数数组的向量,并且HashTable&lt;String, Person&gt;是一个表,其键是字符串和值Persons。但是,让我感到困扰的是的用法Class&lt;&gt;。 Java类Class应该也采用一个模板名称,(否则,Eclipse中的黄色下划线告诉我)。我不明白该放什么。整个Class对象就是当您不完全了解有关对象的信息(例如反射)时。为什么要让我指定Class对象将容纳哪个类?我显然不知道,或者我不会使用该Class对象,而是使用特定的对象。

8
如何在underscore.js模板中使用if语句?
我正在使用underscore.js模板功能,并且已经完成了如下模板: &lt;script type="text/template" id="gridItem"&gt; &lt;div class="griditem &lt;%= gridType %&gt; &lt;%= gridSize %&gt;"&gt; &lt;img src="&lt;%= image %&gt;" /&gt; &lt;div class="content"&gt; &lt;span class="subheading"&gt;&lt;%= categoryName %&gt;&lt;/span&gt; &lt;% if (date) { %&gt;&lt;span class="date"&gt;&lt;%= date %&gt;&lt;/span&gt;&lt;% } %&gt; &lt;h2&gt;&lt;%= title %&gt;&lt;/h2&gt; &lt;/div&gt; &lt;/div&gt; &lt;/script&gt; 如您所见,我在那里有一个if语句,因为我所有的模型都没有date参数。但是,这种方式给我一个错误date is not defined。那么,如果模板中的语句该怎么办?


8
Django模板如何使用变量查找字典值
mydict = {"key1":"value1", "key2":"value2"} 查找在Django模板字典值的常规方法是{{ mydict.key1 }}, {{ mydict.key2 }}。如果键是循环变量怎么办?即: {% for item in list %} # where item has an attribute NAME {{ mydict.item.NAME }} # I want to look up mydict[item.NAME] {% endfor %} mydict.item.NAME失败。如何解决?


6
作为模板参数传递的函数
我正在寻找涉及将C ++模板函数作为参数传递的规则。 C ++支持此功能,如此处的示例所示: #include &lt;iostream&gt; void add1(int &amp;v) { v+=1; } void add2(int &amp;v) { v+=2; } template &lt;void (*T)(int &amp;)&gt; void doOperation() { int temp=0; T(temp); std::cout &lt;&lt; "Result is " &lt;&lt; temp &lt;&lt; std::endl; } int main() { doOperation&lt;add1&gt;(); doOperation&lt;add2&gt;(); } 但是,学习这种技术很困难。谷歌搜索“作为模板参数的功能”并没有多大帮助。令人惊讶的是,经典的C ++模板《完整指南》也没有对此进行讨论(至少不是从我的搜索中获得)。 我的问题是这是否有效的C ++(或只是一些广泛支持的扩展)。 另外,有没有办法在这种模板调用期间允许具有相同签名的仿函数与显式函数互换使用? 下面确实没有工作,在上面的程序,至少在视觉C …

13
为什么C ++ STL如此大量地基于模板?(而不是在* interfaces *上)
我的意思是,除了它的专有名称(标准模板库)之外... C ++最初打算将OOP概念呈现到C中。也就是说,您可以根据其类和类层次结构来判断特定实体可以做什么和不可以做什么(无论它如何执行)。由于多重继承的问题,某些能力组合很难用这种方式描述,而且C ++以某种笨拙的方式(与Java等相比)支持接口的概念,但是它确实存在(并且可能是改进)。 然后,模板与STL一起发挥作用。STL似乎采用了经典的OOP概念,并使用模板来冲洗它们。 在使用模板来泛化类型的情况之间应该有所区别,其中类型主题与模板的操作无关(例如,容器)。有一个vector&lt;int&gt;完美的意义。 但是,在许多其他情况下(迭代器和算法),模板化类型应遵循“概念”(输入迭代器,正向迭代器等),其中概念的实际细节完全由模板的实现定义函数/类,而不是模板使用的类型的类,这在某种程度上是对OOP的反使用。 例如,您可以告诉函数: void MyFunc(ForwardIterator&lt;...&gt; *I); 更新:由于原始问题尚不清楚,因此可以将ForwardIterator本身进行模板化以允许任何ForwardIterator类型。相反,将ForwardIterator作为概念。 仅通过查看其定义就可以期待一个正向迭代器,您需要在其中查看实现或以下文档: template &lt;typename Type&gt; void MyFunc(Type *I); 我可以支持使用模板的两个主张:通过为每种使用的类型量身定制模板,而不是使用vtable,可以使编译后的代码更高效。模板可以与本机类型一起使用的事实。 但是,我正在寻找一个更深层的原因,为什么放弃传统的OOP来支持使用STL?(假设您读到了这么远:P)
211 c++  oop  templates  stl 

7
如何为新的C#类/接口编辑Visual Studio模板?
我发现自己在Visual Studio中创建的几乎每个C#文件中都删除了以下导入语句: using System.Collections.Generic; using System.Linq; using System.Text; 当然,使用Resharper做到这一点真的很容易,但是我真的不应该这样做。 VS目录中的某处必须有一些模板(类,接口),我可以从中删除有问题的行。在哪里可以找到这些文件?有没有更好的方法来控制默认导入列表?

18
jQuery模板引擎[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 3年前关闭。 改善这个问题 我正在寻找使用客户端的模板引擎。我一直在尝试一些像jsRepeater和jQuery Templates的模板。尽管它们在FireFox中似乎可以正常工作,但当它们涉及到呈现HTML表时,它们似乎都在IE7中崩溃了。 我还查看了MicrosoftAjaxTemplates.js(来自http://www.codeplex.com/aspnet/Release/ProjectReleases.aspx?ReleaseId=16766),但事实证明它存在相同的问题。 关于要使用的其他模板引擎有什么建议吗?

13
C#和Java…中的泛型与C ++中的模板之间有什么区别?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 6年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我主要使用Java,泛型相对较新。我一直在阅读Java做出了错误的决定,或者.NET具有更好的实现等。 那么,C ++,C#,Java在泛型之间的主要区别是什么?每个优点/缺点?
203 c#  java  c++  generics  templates 

3
为什么我必须通过this指针访问模板基类成员?
如果下面的类不是模板,那么我可以简单地x在derived该类中使用。但是,在下面的代码中,我必须使用this-&gt;x。为什么? template &lt;typename T&gt; class base { protected: int x; }; template &lt;typename T&gt; class derived : public base&lt;T&gt; { public: int f() { return this-&gt;x; } }; int main() { derived&lt;int&gt; d; d.f(); return 0; }

5
函数模板的默认模板参数
为什么只在类模板上允许使用默认模板参数?为什么我们不能在成员函数模板中定义默认类型?例如: struct mycclass { template&lt;class T=int&gt; void mymember(T* vec) { // ... } }; 相反,C ++强制仅在类模板上允许使用默认模板参数。
187 c++  templates 


3
每个循环访问Handlebars.js范围之外的变量
我有一个handlebars.js模板,如下所示: {{externalValue}} &lt;select name="test"&gt; {{#each myCollection}} &lt;option value="{{id}}"&gt;{{title}} {{externalValue}}&lt;/option&gt; {{/each}} &lt;/select&gt; 这是生成的输出: myExternalValue &lt;select name="test"&gt; &lt;option value="1"&gt;First element &lt;/option&gt; &lt;option value="2"&gt;Second element &lt;/option&gt; &lt;option value="3"&gt;Third element &lt;/option&gt; &lt;/select&gt; 如预期的那样,我可以访问的每个元素的id和title字段myCollection以生成我的选择。在选择之外,我的externalValue变量已正确打印(“ myExternalValue”)。 不幸的是,在期权的文本中,externalValue价值从未被打印出来。 我的问题是:如何从循环内部访问每个handlebars.js范围之外的变量?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.