相关疑难解决方法(0)

C++中的" - >"运算符是什么?

看完后隐藏功能和C++/STL的暗角comp.lang.c++.moderated,我完全惊讶的是,下面的代码片断编译并在两个Visual Studio 2008和G ++ 4.4的工作.

这是代码:

#include <stdio.h>
int main()
{
    int x = 10;
    while (x --> 0) // x goes to 0
    {
        printf("%d ", x);
    }
}
Run Code Online (Sandbox Code Playgroud)

我假设这是C,因为它也适用于GCC.标准中定义了哪里,它来自何处?

c++ code-formatting standards-compliance operators

8590
推荐指数
27
解决办法
75万
查看次数

为什么要避免使用JavaScript中的递增("++")和递减(" - ")运算符?

jslint工具的一个提示是:

++和 -
已知++(增量)和 - (减量)运算符通过鼓励过多的诡计来导致错误的代码.它们仅次于故障架构,可以实现病毒和其他安全威胁.有一个plusplus选项禁止使用这些运算符.

我知道像PHP这样的PHP结构$foo[$bar++]可能很容易导致一个错误,但是我无法找到一个更好的方法来控制循环而不是一个while( a < 10 ) do { /* foo */ a++; }for (var i=0; i<10; i++) { /* foo */ }.

jslint是否突出显示它们是因为有些类似的语言缺少" ++"和" --"语法或者处理方式不同,还是有其他理由可以避免我可能会丢失的" ++"和" --"?

javascript syntax jslint prefix-operator postfix-operator

348
推荐指数
12
解决办法
32万
查看次数

i - > opeator在JavaScript中做了什么?

所以我看了一下在SO广告页面上控制计数器的代码.然后我看到了发生这种情况的线i-->.这是做什么的?

这是完整的代码:

$(function(){

    var visitors = 5373891;
    var updateVisitors = function()
    {
            visitors++;

            var vs = visitors.toString(), 
                 i = Math.floor(vs.length / 3),
                 l = vs.length % 3;
            while (i-->0) if (!(l==0&&i==0))          // <-------- Here it is!!!
                vs = vs.slice(0,i*3+l)
                   + ',' 
                   + vs.slice(i*3+l);
            $('#devCount').text(vs);
            setTimeout(updateVisitors, Math.random()*2000);
    };

    setTimeout(updateVisitors, Math.random()*2000);

});
Run Code Online (Sandbox Code Playgroud)

javascript

2
推荐指数
2
解决办法
355
查看次数

在Java中使用= +运算符?

我有以下代码:

public class Operators {
    public static void main(String[] args) {
        int i =+ 2;
        System.out.println(i);
    }
}
Run Code Online (Sandbox Code Playgroud)

执行后,我得到以下输出:2

那么=+运营商在这里做了什么呢?

编辑:

正如一些回答,这是分配+2i,考虑下面的代码:

public class Operators {
    public static void main(String[] args) {
        int i =- -2;
        System.out.println(i);
    }
}
Run Code Online (Sandbox Code Playgroud)

所以在上面的例子中,输出应该是-2.但我得到了2

所以我想,它是-(-2),它给出了2.吗?

java operators

0
推荐指数
2
解决办法
9560
查看次数

* - 符号在C中有什么作用?

我在带有编译器的库中遇到了这个问题:

register char *bufptr;
register int   neg = val < 0;
register long  uval = val;

*(bufptr = &tempc[BUFLEN - 1]) = 0;

do {*--bufptr = abs(uval % 10) + '0';}  while(uval /= 10);
Run Code Online (Sandbox Code Playgroud)

"* - "实际上做了什么?我尝试搜索它,但它不包括在我能找到的C引用中,搜索引擎不喜欢"* - ".

c pointers

-2
推荐指数
1
解决办法
306
查看次数