小编Abh*_*pta的帖子

从C中的函数返回{0}?

编译为'C'与编译为'C++'之间存在以下差异

struct A {
  int x;
  int y;
};

struct A get() {
  return {0};      
}
Run Code Online (Sandbox Code Playgroud)

当编译为'C++'时,一切都很顺利.但是,编译为'C'时; 我正进入(状态:

错误:预期表达式

我可以通过这样做来解决:

return (struct A){0};      
Run Code Online (Sandbox Code Playgroud)

但是,我想知道差异来自哪里.语言参考中的任何一点都可以指出这种差异来自何处?

c c++ compiler-errors type-conversion

15
推荐指数
1
解决办法
762
查看次数

可以eclipse C/C++ IDE也用于java吗?

我已经下载了用于C/C++ eclipse IDE的.tar.gz安装文件.它也可以用于java还是我需要额外的?

eclipse

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

如何使用bash脚本重命名目录中的文件

我想找到一个bash脚本,用_(下划线)重命名文件到 - (连字符)

例如,将文件名my_page_name.php更改为my-page-name.php,保持那些没有.php扩展名的文件的名称相同

我试过:还没有,只是使用这里找到的脚本bbs.archlinux.org/viewtopic.php?id=36305并用_和下划线替换空格 -

linux bash

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

方法链慢C++?

例如,哪些更快:

if(object.GetMemberX().IsSomething())
{
    Store(object.GetMemberX());
    object.GetMemberX().FlagSomething();
}
Run Code Online (Sandbox Code Playgroud)

要么

typeX x = object.GetMemberX();
if(typeX.IsSomething())
{
    Store(x);
    x.FlagSomething();
}
Run Code Online (Sandbox Code Playgroud)

我想如果GetMemberX()在第一个例子中返回一个指针或一个引用,编译器就无法优化掉两个调用,因为它不能保证返回的指针/引用对于每个调用都是相同的?

但在第二个例子中我存储它?

如果这是真的,它是否只适用于返回指针/引用的方法?如果我的方法按值返回它们会受益于/受到不同调用的阻碍吗?

c++ compiler-optimization

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