template<unsigned int n>
struct Factorial {
enum { value = n * Factorial<n-1>::value};
};
template<>
struct Factorial<0> {
enum {value = 1};
};
int main() {
std::cout << Factorial<5>::value;
std::cout << Factorial<10>::value;
}
Run Code Online (Sandbox Code Playgroud)
上面的程序在编译期间计算阶乘值.我想在编译时打印阶乘值,而不是在运行时使用cout打印.我们怎样才能在编译时打印阶乘值?
我正在使用VS2009.
谢谢!
在回答了那个问题并且被拒绝后,我想和你一起检查一下.
为了得到我编写的代码成本的草案,我倾向于以这种方式扩展操作.
您认为这是正确的假设/数量级/估计吗?
(当然,没有什么比真正的应用程序分析:-))
编辑:作为根据你的答案和评论的第一个结论,可以说我的数字1000被大大高估了.
在Android设备中吹入MIC时如何获得振幅.
MediaRecorder recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
Timer timer = new Timer();
timer.scheduleAtFixedRate(new RecorderTask(recorder), 0, 1000);
private class RecorderTask extends TimerTask {
private MediaRecorder recorder;
public RecorderTask(MediaRecorder recorder) {
this.recorder = recorder;
}
public void run() {
Log.v("", "amplitude is" + recorder.getMaxAmplitude());
}
}
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
ERROR/AndroidRuntime(20927): Caused by: java.lang.RuntimeException: setAudioSource failed.
ERROR/AndroidRuntime(20927): at android.media.MediaRecorder.setAudioSource(Native Method)
Run Code Online (Sandbox Code Playgroud) 是否可以在drupal中删除登录块?如果我删除登录块,如何登录drupal给adminestrator用户?
我试图添加cglib作为默认字节码提供程序.我正在使用hibernate.cfg.xml文件来配置会话工厂.
<property name="hibernate.bytecode.provider">cglib</property>
Run Code Online (Sandbox Code Playgroud)
我的配置文件中的上面一行代码不会对行为进行任何更改.它仍设置javassist为字节代码提供程序.
原来是'javaassist'被设置为默认提供者.此配置在环境表单hibernate.properties文件中更新.除了Environment类的静态初始化程序之外,我没有找到任何对字节代码提供程序创建者方法的引用.
是否有任何明确的方法从xml配置文件中分配默认字节代码生成器.
在下面的示例中,如何使用 PrefixStyle 和 ProtoBuf-net 获取长度数?
PrefixStyle.Base128 和 PrefixStyle.Fixed32 有什么区别?
谢谢!
PerfTest clone;
using (MemoryStream ms = new MemoryStream())
{
Serializer.SerializeWithLengthPrefix(ms, obj,PrefixStyle.Base128);
byte[] raw = ms.ToArray();
ms.Position = 0;
clone = Serializer.DeserializeWithLengthPrefix<PerfTest>(ms,PrefixStyle.Base128);
}
Run Code Online (Sandbox Code Playgroud)
编辑:使用字节数组下方的代码长度为 22。为什么 TryReadLengthPrefix 返回 21?肯定是应该返回22?
PerfTest clone;
using (MemoryStream ms = new MemoryStream())
{
Serializer.SerializeWithLengthPrefix(ms, obj,PrefixStyle.Base128);
byte[] raw = ms.ToArray();
ms.Position = 0;
int bArrayLen = ms.ToArray().Length; //returns 22
int len;// set to 21. Why not 22?
Serializer.TryReadLengthPrefix(ms, PrefixStyle.Base128,out len);
clone = Serializer.DeserializeWithLengthPrefix<PerfTest>(ms,PrefixStyle.Fixed32);
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Jammit来打包部署在Heroku上的Rails应用程序的CSS和JS,由于Heroku的只读文件系统而无法开箱即用.我已经看到的每个如何做到这一点的例子都建议提前构建所有打包的资产文件.由于Heroku基于Git的部署,这意味着每次这些文件发生变化时,您都需要对存储库进行单独的提交,这对我来说是不可接受的解决方案.相反,我想改变Jammit用来编写缓存包的路径#{Rails.root}/tmp/assets(通过更改ActionController::Base#page_cache_directory),这在Heroku上是可写的.
我不明白的是如何使用缓存文件而不必每次都访问Rails堆栈,即使使用缓存包的默认路径也是如此.让我解释一下我的意思:
当您使用Jammit的帮助程序包含一个包时,它看起来像这样:
<%= include_javascripts :application %>
Run Code Online (Sandbox Code Playgroud)
生成此脚本标记:
<script src="/assets/application.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
当浏览器请求此URL时,实际发生的是它被路由到Jammit::Controller#package,它将包的内容呈现给浏览器,然后将缓存的副本写入#{page_cache_directory}/assets/application.js.我们的想法是,这个缓存文件是在第一个请求的基础上构建的,后续请求应直接为缓存文件提供服务,而不需要访问Rails堆栈.我查看了Jammit代码,但我看不出这是怎么发生的.什么阻止后续请求/assets/application.js简单地Jammit::Controller再次路由到从不使用缓存文件?
我的猜测是有一个Rack中间件,我没有看到它存在服务文件,如果它存在,并将请求转发给控制器,如果它没有.如果是这样的话,代码在哪里?它在改变时会如何工作ActionController::Base#page_cache_directory(有效地改变Jammit编写缓存包的位置)?由于#{Rails.root}/tmp位于公共文档根目录之上,因此没有映射到该路径的URL.
我正在研究一个有几个pdf文件的学校项目.应该按名称功能搜索,我只需输入学生的姓名,所有带有他/她姓名的pdf文件都应该打开.做这个的最好方式是什么?我在网上寻找解决方案,我想出的就是iTextSharp,它让人更加困惑.
这可能吗?也许有人可以给我一个教程或其他东西的链接.:) 非常感谢你.
有没有办法在c#上获取所有Sql数据类型的列表?
我知道我们有一个名为SQlDbType的Enum,它包含所有的Sql数据类型,但是我们可以将Enum转换为字符串数组吗?
我只想获得一些包含所有Sql数据类型的列表,而不是逐个编写它们并将它们添加到我的字符串数组中.
我想从html页面中提取所有锚标签.我在Linux中使用它.
lynx --source http://www.imdb.com | egrep "<a[^>]*>"
Run Code Online (Sandbox Code Playgroud)
但是这没有按预期工作,因为结果包含不需要的结果
<a class="amazon-affiliate-site-name" href="http://www.fabric.com">Fabric</a><br>
Run Code Online (Sandbox Code Playgroud)
我想要的
<a href >...</a>
Run Code Online (Sandbox Code Playgroud)
有什么好办法吗?