c++11在编写Arduino时如何使用?我可以使用Arduino IDE或其他环境.我最感兴趣的是核心语言改进,而不是需要标准库更改的东西.
由于这个问题是关于增量运算符和带前缀/后缀表示法的速度差异,我将非常仔细地描述这个问题,以免Eric Lippert发现它并激怒我!
(有关我为什么要问的更多信息和详细信息,请访问http://www.codeproject.com/KB/cs/FastLessCSharpIteration.aspx?msg=3899456#xx3899456xx/)
我有四个代码片段如下: -
(1)单独,前缀:
for (var j = 0; j != jmax;) { total += intArray[j]; ++j; }
Run Code Online (Sandbox Code Playgroud)
(2)单独,后缀:
for (var j = 0; j != jmax;) { total += intArray[j]; j++; }
Run Code Online (Sandbox Code Playgroud)
(3)Indexer,Postfix:
for (var j = 0; j != jmax;) { total += intArray[j++]; }
Run Code Online (Sandbox Code Playgroud)
(4)索引器,前缀:
for (var j = -1; j != last;) { total += intArray[++j]; } // last = jmax - 1
Run Code Online (Sandbox Code Playgroud)
我试图做的是证明/反驳在这个上下文中前缀和后缀表示法之间是否存在性能差异(即局部变量因此不易变,不能从另一个线程等变化)如果存在,为什么会出现这种情况.
速度测试表明:
(1)和(2)以相同的速度运行.
(3)和(4)以相同的速度运行.
(3)/(4)比(1)/(2)慢〜27%.
因此,我得出的结论是,在postfix表示法本身上选择前缀表示法没有性能优势.但是,当实际使用操作的结果 …
我不是问dp,sp和px有什么区别.
我正在设计一个基于谷歌新材料设计的网站,所有测量都在dp(用于网格)和sp(用于文本).我的问题是它们如何转换为像素.我已经设计了超过4年的网站,所有的测量(网格和字体)都以像素为单位.
例如:
1px =?dp =?sp在桌面或任何普通的显示器或移动设备上?
我最近开了一个博客,在其中我谈论编程,阅读,科学和数学.现在,对于编程部分,我已经安装了SyntaxHighlighter,但我对我应该用于数学的东西感到困惑.我正在考虑使用MathJax,因为我已经习惯了它并且非常好.问题是,MathJax会干扰其他东西.例如,它可能会干扰我在编程帖子中使用的任何PHP代码(有很多美元符号).
现在我想保持内联/阻止美元符号,但我不希望它炸毁其他东西.我正在考虑将MathJax与某个CSS类相关联,这样我就可以将所有使用数学的部分与这些标签一起包含在内.通过这个,我的意思是我仍然可以在这些div中正常输入(没有数学运算),但我可以使用美元符号并获得数学代码.在div之外,任何美元符号都将被遗弃.
有谁知道让我这样做的配置选项?我知道JS,但我在文档中找不到任何选项.以为在翻阅代码之前我会问这里.
我正在尝试使用AngularJS承诺/然后使用递归函数.但是没有调用then-function(没有调用error-,success-,notify-callbacks).
这是我的代码:
递归函数
loadSection2 = function() {
var apiURL = "http://..."
var deferred = $q.defer();
$http({
method: "GET",
url: apiURL
}).success(function(result, status, headers, config) {
console.log(result);
loadCount++;
if(loadCount < 10) {
newSectionArray.push(result);
loadSection2();
} else {
loadCount = 0;
deferred.resolve();
return deferred.promise;
}
}).error(function() {
return deferred.reject();
});
deferred.notify();
return deferred.promise;
};
Run Code Online (Sandbox Code Playgroud)
然后
loadSection2().then(function() {
console.log("NEW SECTIONS LOADED, start adding to document");
addContent();
}, function() {
console.log("ERROR CALLBACK");
}, function() {
console.log("NOTIFY CALLBACK");
}).then(function() {
loadScrollActive = false;
});
Run Code Online (Sandbox Code Playgroud)
我认为,至少必须得到第一个通知回调.但是没有回调.那么不使用递归函数?
出于开发目的,我希望能够轻松地将本地存储的脚本加载到浏览器中,而不必复制粘贴到控制台.
创建新<script>元素不起作用,它会产生Not allowed to load local resource: file://....错误(在Chrome中).
此外,创建用户脚本将无法工作 - 我每次进行编辑时都必须重新安装.
有没有其他方法可以通过bookmarklet/etc轻松加载本地脚本?
因此,我正在一个有时构建时间较长的项目中进行构建,并且该构建经常被破坏。如果我有一个较旧的分支并正在进行一些工作(已提交,但基于一个较老的父级),则运行会git checkout oldbranch更改工作目录以表示所有旧代码,这使我需要再次运行完整版本。
但是,通常我只修改了一个或两个文件,其余的不需要重置。我想做的是将该分支重新设置为当前的主头,并保留对文件的那些更改。
基本上,如果a.rs和b.rs已被修改,那么我需要一种使这些更改基于当前文件头的方法,而不涉及除这两个文件以外的任何文件。
有这样做的git-ish方式吗?目前,我正在使用补丁文件来执行此操作。
我需要加入图书馆吗?任何人都可以详细说明吗?
我知道用于获取正在调用的当前任务的进程ID
但我想用current-> pid打印一些东西
printk("My current process id/pid is %d\n", current->pid);
......并且给了我一个错误
error: dereferencing pointer to incomplete type
我爱上了Ruby.在这种语言中,所有核心功能实际上都是方法 这就是为什么我更喜欢后缀表示法 - 当我想要处理的数据从匿名处理函数的主体中放置时,例如:array.map{...}.我相信,这个代码的易读性有很大优势.
但Mathetica,功能正常(是的,如果你想要它可以是程序性的)指示一个样式,其中函数名称放在数据的左边.正如我们在其手册中所看到的,//仅在它是一些简单的函数时使用,没有参数,如list // MatrixForm.当Function需要很多参数时,编写手册的人会使用语法F[data].
它会好起来的,但我的问题是这样的F[f,data],例如Do[function, {x, a, b}].大多数Mathematica函数(如果不是全部)都具有完全按此顺序的参数 - [function, data]而不是[data, function].由于我更喜欢使用纯函数来保持命名空间清理而不是在我的笔记本中创建很多命名函数,因此参数function可能太大 - 如此之大,该参数data将放在第5-20行代码之后函数调用.
这就是为什么有时候,当邪恶的 Ruby性质让我受到控制时,我用后缀方式重写这些函数:
![做[f(x),{x,a,b}] \n {x,a,b} //做[f(x),#]&](https://i.stack.imgur.com/lAve0.png)
因为它对我很重要,所以纯函数(可能是大代码)就是处理数据.是的我做到了,我很高兴.但有两件事:
x后缀表示法用蓝色突出显示,而不是绿松石;Do[x[[i]] = (v[[i]] - U[[i, i + 1 ;; n]].x[[i + 1 ;; n]])/ U[[i, i]], {i, n, 1, -1}];这意味着......他们认为它很容易阅读/支持/等等.所以这两件事让我在这里问这个问题:我是个坏男孩,使用我的Ruby风格,我应该像这些人一样编写代码,还是没关系,我不必担心,应该按我喜欢的方式写?
我想从SVG文件中提取一些数据.我知道SVG是XML,所以我认为用JS哄骗数据会非常容易.
所以,我想从SVG中提取一堆文本.所以,我启动了chrome的JS控制台,并试着做一些事情.我需要获取tspan数组中的所有元素,提取文本并对其进行分类.
我指的是http://upload.wikimedia.org/wikipedia/commons/e/eb/Light_spectrum.svg.
所以,我用a = document.getElementsByTagName('tspan').现在,我尝试a[20].innerHTML,并得到undefined.合理; 它不是HTML和iirc innerHTML无论如何都是非标准的.
然后我试着a[20].childNodes[0]去"ELF".好的,那就是我想要的.但是,由于某种原因,此对象被视为字符串,但不能转换为一个.如果我尝试转换它(以便我可以使用matches()和它一样的东西indexOf()),我会得到"[object Text]".深入研究Text.prototype并没有帮助 - 我找不到任何将其转换为字符串的函数.
那么如何通过JS获取SVG对象的innerHTML呢?