小编coi*_*syx的帖子

int()在C++中做了什么?

以下代码可以通过编译,并将在控制台上打印0.我在STL中看到了类似的代码.我的问题是,C++中的int类型是否有构造函数?int()是一个定义函数的调用吗?

int main()
{
    int a = int();
    cout<<a<<endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++

17
推荐指数
1
解决办法
2万
查看次数

如何在AWK 3.1.3中按定义的顺序打印数组

我用Google搜索并发现在AWK 4.0之后我们可以通过在循环之前放置PROCINFO ["sorted_in"]命令来按照定义的顺序打印数组.例如

    PROCINFO["sorted_in"] = "@ind_num_asc"
    for( i in array)
          print i, array[i]
Run Code Online (Sandbox Code Playgroud)

在AWK 4.0.2中,它可以工作.但是,我在AWK 3.1.3环境中尝试过,它没有用.这个早期版本的AWK不支持此功能吗?如何在AWK 3.1.3中实现这一目标?

awk

6
推荐指数
1
解决办法
9903
查看次数

不带参数和括号的调用函数

在下面的代码片段中,main函数调用foo函数,不带任何参数和括号.奇怪的是,这段代码可以由gcc编译.我实际检查汇编代码,发现编译器只是忽略了这一行.所以我的问题是在哪种情况下使用这种代码?或者gcc的支持只是一个巧合,实际上它完全没用.

int foo(int a,int b)
{
    return a+b;
}
int main()
{
    foo;      // call foo without parameter and parenthesis
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

它的汇编代码由objdump -d转储

00000000004004c0 <main>:
  4004c0:   55                      push   %rbp
  4004c1:   48 89 e5                mov    %rsp,%rbp
  4004c4:   b8 00 00 00 00          mov    $0x0,%eax
  4004c9:   5d                      pop    %rbp
  4004ca:   c3                      retq   
  4004cb:   0f 1f 44 00 00          nopl   0x0(%rax,%rax,1)
Run Code Online (Sandbox Code Playgroud)

c

5
推荐指数
3
解决办法
5222
查看次数

strtol,strtoll,strtod真的线程安全吗?

我知道如何将字符串转换为int,float ...永远不是一个新问题.经过一些文章后,我被建议使用strtol,strtoll,strtod,所以我仔细研究了这些功能.

虽然strtol在其手册页中声称线程安全,但它会修改errno,所以它真的线程安全吗?

如果没有,那么用C++(而不是C++ 11)转换作业并保持线程安全的正确方法是什么?

c++

5
推荐指数
1
解决办法
1086
查看次数

标签 统计

c++ ×2

awk ×1

c ×1