我喜欢D的一些功能,但如果它们带来运行时惩罚会有兴趣吗?
为了比较,我实现了一个简单的程序,用C++和D计算许多短向量的标量积.结果令人惊讶:
C++真的几乎快了五倍,还是我在D程序中犯了错误?
我在一个温和的最近的Linux桌面上用g ++ -O3(gcc-snapshot 2011-02-19)和D和dmd -O(dmd 2.052)编译了C++.结果可在多次运行中重现,标准偏差可忽略不计.
这里的C++程序:
#include <iostream>
#include <random>
#include <chrono>
#include <string>
#include <vector>
#include <array>
typedef std::chrono::duration<long, std::ratio<1, 1000>> millisecs;
template <typename _T>
long time_since(std::chrono::time_point<_T>& time) {
long tm = std::chrono::duration_cast<millisecs>( std::chrono::system_clock::now() - time).count();
time = std::chrono::system_clock::now();
return tm;
}
const long N = 20000;
const int size = 10;
typedef int value_type;
typedef long long result_type;
typedef std::vector<value_type> vector_t;
typedef typename vector_t::size_type size_type;
inline value_type scalar_product(const vector_t& x, const vector_t& …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用已有的硬盘在虚拟盒中创建一个新VM,但是当我尝试选择现有的硬盘文件(.vhd文件)时,它会显示一个错误,即无法使用虚拟硬盘,因为UUID已经存在.
所以我尝试了这个命令:
VBoxManage internalcommands sethduuid /home/user/VirtualBox VMs/drupal/drupal.vhd
Run Code Online (Sandbox Code Playgroud)
更改.vhd文件的UUID.但后来我得到了这个错误:
VBoxManage internalcommands sethduuid /home/user/VirtualBox VMs/drupal/drupal.vhd
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
当我ping一个IP地址时,请求超时和命令返回的目标主机不可达之间有什么区别?
我查看了手册,但似乎无法找到答案.
对于没有可见性声明的方法,PHP的默认可见性是什么?PHP是否具有Java中的包可见性?
例如,在以下代码中,是go()公共还是私有?
class test {
function go() {
}
}
Run Code Online (Sandbox Code Playgroud)
我问的原因是我看到很多构造函数代码编写为,function __construct()而某些代码编写为public function __construct().它们是等价的吗?
我有这门课
public class Overloaded
{
public void ComplexOverloadResolution(params string[] something)
{
Console.WriteLine("Normal Winner");
}
public void ComplexOverloadResolution<M>(M something)
{
Console.WriteLine("Confused");
}
}
Run Code Online (Sandbox Code Playgroud)
如果我这样称呼它:
var blah = new Overloaded();
blah.ComplexOverloadResolution("Which wins?");
Run Code Online (Sandbox Code Playgroud)
它写入Normal Winner控制台.
但是,如果我添加另一种方法:
public void ComplexOverloadResolution(string something, object somethingElse = null)
{
Console.WriteLine("Added Later");
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
以下方法或属性之间的调用不明确:>'
Overloaded.ComplexOverloadResolution(params string[])'和'Overloaded.ComplexOverloadResolution<string>(string)'
我可以理解,添加一个方法可能会引入一个电话不确定性,但它的两种方法之间的不确定性已经存在的(params string[])和<string>(string)!很明显,模糊性中涉及的两种方法都不是新添加的方法,因为第一种是params,第二种是泛型.
这是一个错误吗?该规范的哪一部分说应该是这种情况?
我想更新站点上的bootstrap,但我不知道使用的bootstrap版本.如何识别bootstrap版本,只使用bootstrap.css和bootstrap.min.js文件?
css中没有版本,只有min.js中的注释:
/*!
* Bootstrap.js by @fat & @mdo
* Copyright 2012 Twitter, Inc.
* http://www.apache.org/licenses/LICENSE-2.0.txt
*/
Run Code Online (Sandbox Code Playgroud) 我正在切割一个字符串数组并将其设置为[String]变量,但类型检查器正在抱怨.这是一个可能的编译器错误吗?
var tags = ["this", "is", "cool"]
tags[1..<3]
var someTags: [String] = tags[1..<3]
Run Code Online (Sandbox Code Playgroud)
我正在尝试将线性渐变应用于ListView.这是我的drawable xml的内容:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#3A3C39"
android:endColor="#181818"
android:angle="270"
/>
<corners android:radius="0dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)
所以我将它应用于我的ListView:
android:background="@drawable/shape_background_grey"
Run Code Online (Sandbox Code Playgroud)
它可以工作,但它在模拟器和真实设备上看起来非常"带状".
有没有办法减少这种"行为"?
如何ListView在每个项目的基础上更改项目的背景颜色.当我android:backgroundColor在ListView项目布局中使用时,我可以实现此目的,但列表选择器不再可见.我可以通过设置drawSelectorOnTop为true 使选择器再次可见,但选择器覆盖整个项目.
有任何想法如何改变这些背景颜色并保持选择器?
PS我宁愿不改变选择器本身.
编辑:GMail应用程序的作者已经设法实现了这一点,所以它绝对是可能的.