小编ein*_*ica的帖子

如何更改C++引用所引用的变量?

如果我有这个:

int a = 2;
int b = 4;
int &ref = a;
Run Code Online (Sandbox Code Playgroud)

如何在此代码后ref引用b

c++ reference dynamic-rebinding

63
推荐指数
6
解决办法
5万
查看次数

缩小graphviz生成的图形的大小(如区域)

有没有人有任何减少graphviz生成的图形大小的一般提示(区域大小,而不是文件大小).

我有一个相当大的图(700个节点).我为每个节点设置了较小的字体大小,但它似乎只减小了字体大小而不是实际的节点大小.是否有任何属性可以减少图表中的总空白量?谢谢!

configuration graphviz graph-drawing image-size

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

为什么**不**声明一个函数是`constexpr`?

任何只包含return语句的函数都可以声明 constexpr,因此如果所有参数都是,constexpr并且只constexpr在其体内调用函数,则允许在编译时进行计算.有没有理由不宣布任何此类功能constexpr

例:

  constexpr int sum(int x, int y) { return x + y; }
  constexpr i = 10;
  static_assert(sum(i, 13) == 23, "sum correct");
Run Code Online (Sandbox Code Playgroud)

任何人都可以提供一个例子来声明一个函数constexpr 会造成什么伤害吗?


一些初步想法:

即使没有充分的理由宣布一个函数,constexpr我也无法想象该constexpr关键字具有过渡角色:它在代码中的缺失不需要编译时评估将允许那些不实现编译时评估的编译器仍然编译该代码(但是在使用需要它们的代码上可靠地失败constexpr).

但是我不明白:如果没有充分的理由不宣布函数constexpr,为什么标准库中的每个函数都没有被声明constexpr?(你不能说它还没有完成,因为还没有足够的时间去做,因为为所有人做这件事是明智的 - 与决定每一个功能是否成功相反constexpr.) - - 我知道N2976 故意不要求cstrs用于许多标准库类型,例如容器,因为这对于可能的实现来说太有限了.让我们从参数中排除它们并且只是想知道:一旦标准库中的一个constexpr类型实际上有一个cstr,为什么不是每个函数都在它上面声明constexpr

在大多数情况下,你也不能说你可能不想constexpr仅仅因为你没有设想任何编译时使用而声明一个函数 :因为如果其他人退出.将使用您的代码,他们可能会看到您没有这样的用途.(当然,也可以用于类型特征类型和类似的东西.)

所以我想有一个很好的理由和一个故意不宣布功能的好例子constexpr

("每个函数"我总是指:满足存在要求的每个函数constexpr,即被定义为单个return语句,只接受带有constexpr cstrs的类型的参数,并且只调用constexpr …

c++ const function-declaration constexpr c++11

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

是否可以从Cygwin 32bit切换到Cygwin 64bit?

我一直在使用Cygwin(很长一段时间).具体来说,我在Win7上使用它(包括gcc/g ++)进行开发工作.我刚才注意到现在存在一个64位版本.

我没有特定需要,需要我转换到64位,但我想知道是否要这样做.这是可取的吗?优缺点都有什么?在进行转换时是否存在已知的过度电弧问题?

64-bit cygwin transitions 32bit-64bit windows-7-x64

58
推荐指数
3
解决办法
3万
查看次数

如何在C++中编写具有多个数据字段的类Java-enum类?

来自Java背景,我发现C++的枚举非常蹩脚.我想知道如何在C++中编写类似Java的枚举(枚举值是对象,可以有属性和方法).

例如,将以下Java代码(其中一部分,足以演示该技术)转换为C++:

public enum Planet {
    MERCURY (3.303e+23, 2.4397e6),
    VENUS   (4.869e+24, 6.0518e6),
    EARTH   (5.976e+24, 6.37814e6),
    MARS    (6.421e+23, 3.3972e6),
    JUPITER (1.9e+27,   7.1492e7),
    SATURN  (5.688e+26, 6.0268e7),
    URANUS  (8.686e+25, 2.5559e7),
    NEPTUNE (1.024e+26, 2.4746e7);

    private final double mass;   // in kilograms
    private final double radius; // in meters
    Planet(double mass, double radius) {
        this.mass = mass;
        this.radius = radius;
    }
    private double mass()   { return mass; }
    private double radius() { return radius; }

    // universal gravitational constant  (m3 kg-1 s-2)
    public static final …
Run Code Online (Sandbox Code Playgroud)

c++ java enums

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

基类中的静态变量是否由所有派生类共享?

如果我有类似的东西

class Base {
    static int staticVar;
}

class DerivedA : public Base {}
class DerivedB : public Base {}
Run Code Online (Sandbox Code Playgroud)

都将DerivedADerivedB共享相同的staticVar或者他们每人将获得自己?

如果我想让他们各自拥有自己的,你会建议我做什么?

c++ inheritance static

52
推荐指数
2
解决办法
4万
查看次数

C++ 14变量模板:它们的目的是什么?任何用法示例?

C++ 14将允许创建模板化的变量.通常的例子是变量'pi',可以读取它以获得各种类型的数学常数π的值(3表示int;可能的最接近的值float等)

除此之外,我们可以通过将变量包装在模板化的结构或类中来实现此功能,这与类型转换如何混合?我看到一些重叠.

除了pi示例之外,它如何与非const变量一起使用?任何用法示例,以了解如何充分利用此类功能及其目的是什么?

c++ templates rationale c++14

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

使用Nvidia的CUDA的压缩库

有没有人知道一个使用NVIDIA的CUDA库实现标准压缩方法(如Zip,GZip,BZip2,LZMA ......)的项目?

我想知道是否能够利用大量并行任务(如压缩)的算法在显卡上的运行速度要比使用双核或四核CPU快得多.

您如何看待这种方法的优缺点?

compression cuda gpgpu

51
推荐指数
3
解决办法
4万
查看次数

C中有const吗?

这个问题可能很幼稚,但是:

  • constC中有关键字吗?
  • 从哪个版本?
  • constC和C++ 之间是否存在语义和/或语法差异?

c c++ language-comparisons const

51
推荐指数
5
解决办法
2万
查看次数

为什么MySQL在FULL OUTER JOIN上报告语法错误?

SELECT airline, airports.icao_code, continent, country, province, city, website 

FROM airlines 
FULL OUTER JOIN airports ON airlines.iaco_code = airports.iaco_code
FULL OUTER JOIN cities ON airports.city_id = cities.city_id
FULL OUTER JOIN provinces ON cities.province_id = provinces.province_id
FULL OUTER JOIN countries ON cities.country_id = countries.country_id
FULL OUTER JOIN continents ON countries.continent_id = continents.continent_id
Run Code Online (Sandbox Code Playgroud)

它说

您的SQL语法有错误; 查看与您的MySQL服务器版本对应的手册,以便airports在第4行的'aerites_iaco_code = airports.iaco_code全外连接' 附近使用正确的语法

语法看起来对我来说.我之前从未做过很多连接,但是我需要在表中使用各种id交叉引用的列.

php mysql sql join mysql-error-1064

48
推荐指数
2
解决办法
5万
查看次数