小编Jef*_*nez的帖子

为什么我不能在类中有一个非整数的静态const成员?

我注意到C++不会编译以下内容:

class No_Good {
  static double const d = 1.0;
};
Run Code Online (Sandbox Code Playgroud)

但是,它会愉快地允许将double更改为int,unsigned或任何整数类型的变体:

class Happy_Times {
  static unsigned const u = 1;
};
Run Code Online (Sandbox Code Playgroud)

我的解决方案是将其改为:

class Now_Good {
  static double d() { return 1.0; }
};
Run Code Online (Sandbox Code Playgroud)

并认为编译器将足够智能以在必要时内联...但它让我很好奇.

为什么C++设计器允许我使用静态const一个int或unsigned,而不是一个double?

编辑:我在Windows XP上使用visual studio 7.1(.net 2003).

EDIT2:

问题已得到解答,但为了完成,我看到的错误:

error C2864: 'd' : only const static integral data members can be initialized inside a class or struct
Run Code Online (Sandbox Code Playgroud)

c++

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

如何使用std :: signaling_nan?

在查看关于SO的另一个问题(在C++中使用NaN)后,我变得好奇std::numeric_limits<double>::signaling_NaN().

我无法获得signaling_NaN抛出异常.我想也许通过发信号它真的意味着一个信号,所以我尝试捕捉SIGFPE,但不...

这是我的代码:

double my_nan = numeric_limits<double>::signaling_NaN();
my_nan++;
my_nan += 5;
my_nan = my_nan / 10;
my_nan = 15 / my_nan;
cout << my_nan << endl;
Run Code Online (Sandbox Code Playgroud)

numeric_limits<double>::has_signaling_NaN 计算结果为true,因此它在我的系统上实现.

有任何想法吗?

我正在使用ms visual studio .net 2003的C++编译器.我回家时想在另一个地方测试它.

谢谢!

c++ floating-point nan visual-c++

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

this.someFunction.call(this,param)的目的是什么?

我在很多地方遇到过一些具有这种模式的代码:

this.someFunction.call(this, param);
Run Code Online (Sandbox Code Playgroud)

但在我看来,这只是一种更冗长的打字方式

this.someFunction(param)
Run Code Online (Sandbox Code Playgroud)

该模式有时出现在作为回调提供的函数内.碰巧使用Backbone,如果相关的话.像这样的东西:

Backbone.View.extend({
    // other stuff ...

    someFunction: function(param) {
        // ...
    },
    anotherFunction: function() {
        this.collection.on("some_event", function() {
            this.someFunction.call(this, param);
        });
    }
});
Run Code Online (Sandbox Code Playgroud)

该模式是否实际上具有的效果不等于this.someFunction(param)或仅仅是因为关闭没有捕获正确的人而感到紧张this

感谢您的任何见解!

javascript backbone.js

7
推荐指数
1
解决办法
114
查看次数

我在哪里可以找到android.support.v7.mediarouter.R $ attr?

精简版

我在实例化android.support.v7.app.MediaRouteButton对象时遇到了未处理的异常.我明白了:

NoClassDefFoundError: android.support.v7.mediarouter.R$attr
Run Code Online (Sandbox Code Playgroud)

这堂课在哪里?或者,如果它是自动生成的,我该如何让它自动生成?

更长的版本

我正在关注Chromecast的Android应用开发教程:https://developers.google.com/cast/cast_2nd-screen_app_tutorial

我在ubuntu 13.04上使用ADT捆绑的eclipse进行开发.

我将以下jar文件导入到工作区中的libs目录中,并通过项目属性的"Java Build Path"面板的"Libraries"选项卡中的"Add Jars ..."按钮将它们包含在我的Java Build Path中:

  • GoogleCastSdkAndroid-1.0.0.jar
  • Android的支持,v4.jar
  • Android的支持-V7-appcompat.jar
  • Android的支持-V7-gridlayout.jar
  • Android的支持-V7-mediarouter.jar

我有一个活动(由Eclipse创建的默认"hello world"),并且没有修改布局.我需要添加的唯一代码导致错误(粘贴在下面)显示如下:

import android.support.v7.app.MediaRouteButton;
...
MediaRouteButton mrb = new MediaRouteButton(this.getApplicationContext());
Run Code Online (Sandbox Code Playgroud)

当我构建并运行应用程序时,我在LogCat中看到下面粘贴的错误消息(如果有人认为它相关,我可以发布更多信息).我注意到的关键事情是我似乎缺少android.support.v7.mediarouter.R $ attr(NoClassDefFoundError),并且它是从android.support.v7.app.MediaRouteButton的构造函数调用的.

08-12 00:36:02.837: E/AndroidRuntime(29600): java.lang.NoClassDefFoundError: android.support.v7.mediarouter.R$attr
08-12 00:36:02.837: E/AndroidRuntime(29600):    at android.support.v7.app.MediaRouteButton.<init>(MediaRouteButton.java:117)
08-12 00:36:02.837: E/AndroidRuntime(29600):    at android.support.v7.app.MediaRouteButton.<init>(MediaRouteButton.java:113)
08-12 00:36:02.837: E/AndroidRuntime(29600):    at com.jeffbmartinez.helicast.MainActivity.onCreate(MainActivity.java:31)
...
Run Code Online (Sandbox Code Playgroud)

它正在运行MediaRouteButton的构造函数这一事实让我相信正确找到了jar文件,因此我认为我没有错误配置与依赖项(jar文件)相关的eclipse.但是,我的理解是这些'R'文件是自动生成的.如果这是正确的,我的android.support.v7.mediarouter.R文件在哪里?我没有在gen目录中看到它,其中放置了com.jeffbmartinez.helicast.R文件.

此外,我发现MediaRouteButton引用了一个我在上面列出的5个jar依赖项中找不到的包名称.android-support-v7-mediarouter.jar只包含android.support.v7.app.*android.support.v7.media.*.

除了我的错误日志之外,我唯一找到对android.support.v7.mediarouter的引用的地方是https://developer.android.com/reference/android/support/v7/mediarouter/package-summary.html但是那里那里的信息很少.

我错过了依赖吗?如果是这样,我从哪里获得它或如何生成它?

谢谢!

android adt android-support-library google-cast

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

从c ++ struct字段获取单个字段的大小

简短版本是:如何学习c ++字段的单个字段的大小(以位为单位)?

澄清一下,我所谈论的领域的一个例子:

struct Test {
    unsigned field1 : 4;  // takes up 4 bits
    unsigned field2 : 8;  // 8 bits
    unsigned field3 : 1;  // 1 bit
    unsigned field4 : 3;  // 3 bits
    unsigned field5 : 16; // 16 more to make it a 32 bit struct

    int normal_member; // normal struct variable member, 4 bytes on my system
};

Test t;
t.field1 = 1;
t.field2 = 5;
// etc.
Run Code Online (Sandbox Code Playgroud)

我们只是说,要获得整个Test对象的大小很简单

sizeof(Test); // returns 8, for 8 …
Run Code Online (Sandbox Code Playgroud)

c++ struct field sizeof

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

评论评论

我注意到,使用visual studio 2003,我可以"评论"我的评论,使它们不再是评论.这个需要一个例子:

如果我有:

/*
int commented_out = 0;
*/
Run Code Online (Sandbox Code Playgroud)

我可以注释掉/*和*/with //并且/*和*/中的代码不再被"注释掉"(文本更改为非注释颜色,编译器再次将其视为代码).像这样:

///*
int commented_out = 0;
//*/
Run Code Online (Sandbox Code Playgroud)

我发现这对于msvc 2003来说是正确的,这是正常的C++行为还是只是一个与这个编译器兼容的侥幸?

c++ comments

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

如果嵌套内容使用动态键,如何在 GoLang 中解析 JSON?

我从客户端 API 收到了下面的 JSON,但我正在努力获取嵌套的 JSON 内容。如果内部键是动态的,我该如何解析它?

const jsonStream = `
{
    "items": {
        "bvu62fu6dq": {
            "name": "john",
            "age": 23,
            "xyz": "weu33s"
        },
        "iaxdw23fq": {
            "name": "kelly",
            "age": 21,
            "xyz": "weu33s"
        }
    }
}`
Run Code Online (Sandbox Code Playgroud)

这是我在下面尝试的方法,通过循环地图从上面的 JSON 字符串中提取姓名和年龄的值;但它返回结果为 nil 的映射。 去游乐场

type Person struct {
    Name string `json:"name"`
    Age  int    `json:"age"`
}
type Item struct {
    Contact struct {
        Info map[string]Person
    } `json:"items"`
}

func main() {
    dec := json.NewDecoder(strings.NewReader(jsonStream))
    for {
        var item Item
        if err := dec.Decode(&item); err == io.EOF …
Run Code Online (Sandbox Code Playgroud)

parsing json go

0
推荐指数
1
解决办法
1502
查看次数

使用golang将字节数组转换回文件

有没有办法将字节数组写入文件?我有文件名和文件扩展名(如temp.xml).

decode file go

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