我阅读了Skeet的书的第2.3.2节,根据我的理解,C#中没有真正的引用,就像在C++中一样.
值得注意的是,不仅神话中的"引用"位被破坏,而且"对象被传递"位也是如此.对象本身永远不会通过引用或值传递.当涉及引用类型时,要么通过引用传递变量,要么通过值传递参数(引用)的值.
请注意,这与C++不同(我来自C++背景),因为在C++中,您可以使用&符号直接使用参数列表中的对象 - 没有任何副本,甚至不是对象的内存地址的副本:
bool isEven ( int & i ) { return i % 2 == 0 } )
int main ()
{
int x = 5;
std::cout << isEven(x); // is the exact same as if I had written
// std::cout (x % 2 == 0)
return 0;
}
Run Code Online (Sandbox Code Playgroud)
没有与上述相同的内容.你能用C#获得的最好成绩相当于
bool isEven ( int * i ) { return *i % 2 == 0 } )
int main ()
{
int x = 5;
std::cout …Run Code Online (Sandbox Code Playgroud) 所以我没有通过编程面试问题
"鉴于一系列的整数1,2,......,n,其中一个缺失,找到丢失的一个."
面试官说正确答案是将数字相加并从n(n + 1)/ 2中减去总和,即应用公式https://en.wikipedia.org/wiki/1_%2B_2_%2B_3_%2B_4_ %2B_%E2%8B%AF
并说任何计算机科学专业的学生都会这样做.我的解决方案就像
char takenSpots [] = n*malloc(sizeof(char));
for (int k = 0; k < n; ++k) takenSpots[arr[k]-1] = 'x';
for (int k = 0; k < n; ++k) if (takenSpots[k] != 'x') return (k+1);
Run Code Online (Sandbox Code Playgroud)
这并不像我承认的总和解决方案那样"酷",我从未想过尝试过.
首先,使用求和方法是否存在溢出的危险?我的意思是,如果arr包含~((int)0)和~((int)0) - 1?那么不会arr[0] + arr[1] + ... + arr[n-1]溢出?或者解决方案是否仍然有效,因为1 + 2 + ... + n溢出?
我正在编写一个Snake游戏
蛇的运动的逻辑决定了如果我有一个Javascript数组
var links = [elem_0, elem_1, ..., elem_n];
Run Code Online (Sandbox Code Playgroud)
代表蛇的链接元素,那么对于蛇的移动方式是蹦出来elem_n,改变它的位置是在中elem_0加翻译单元dx和dy,然后把它放在数组的开始:
[elem_0, elem_1, ..., elem_n] ---> [elem_n, elem_0, ..., elem_(n-1)]
(具有一些内部属性 elem_n在此过程更改)
这样做的方法是什么,不做任何妥协
????
我是一名初级JavaScript开发人员,我发现我经常遇到需要做的事情
"Find the first element satisfying a condition, then do something with the element"
Run Code Online (Sandbox Code Playgroud)
我最后for用一个break语句写了一个循环.例如,这是我写的一段生产代码:
// set up event listeners for changing the snake's direction
// based on arrows keys pressed
// see: http://stackoverflow.com/questions/6226859/how-can-i-track-arrow-keys-in-chrome-and-ie
var arrowKeyMap = { 37 : "left", 38: "down", 39: "right", 40: "up" };
$(document).keydown(function (e)
{
// want to make this more compact ...
for (var i in arrowKeyMap)
{
if (i == e.keyCode)
{
SG.snake.changeDirection(arrowKeyMap[i]);
break;
}
}
});
Run Code Online (Sandbox Code Playgroud)
我想知道是否有本机JavaScript工具,或使用JQuery的方式,使其更紧凑,或者如果我需要手动滚动可重复使用的过程,这样的情况.我知道C#有一个 …
algorithm ×3
optimization ×3
javascript ×2
arrays ×1
c ×1
c# ×1
c++ ×1
game-physics ×1
integer ×1
jquery ×1
reference ×1