小编Ste*_*epp的帖子

在重写java 1.4中的方法时如何避免"未使用的参数"警告?

在这段代码中:

public class MyClass {
    private Object innerValue;
    public Object getInnerValue() {
        return this.innerValue;
    }
    public void setInnerValue(Object innerValue) {
        this.innerValue = innerValue;
    }
}

public class MyClassReadOnly extends MyClass {
    MyClassReadOnly(MyClass cls) {
        // Make a field by field copy
        super.setInnerValue(cls.getInnerValue());
    }
    public void setInnerValue(Object innerValue) {
        throw new UnsupportedOperationException(
                            "This is a read-only instance"
                        );
    }
}
Run Code Online (Sandbox Code Playgroud)

编译器正确地抱怨未使用的参数(从未看过)innerValueMyClassReadOnly.setInnerValue() .

我不想禁用这种警告,因为它通常非常有用,而且我不希望任何警告要么具有高信噪比.

我不能使用@SuppressWarnings()构造作为另一个问题,因为它只是Java 1.4.

我想过插入像这样的虚拟代码,但它不是很令人满意:

public void setInnerValue(Object innerValue) {
    if (innerValue != null) { …
Run Code Online (Sandbox Code Playgroud)

java overriding params suppress-warnings

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

如何超链接到深度Doxygen内容?

正如Do URL页面永久保留的那样,doxygen中的URL 不是永久性的.

那么,你如何从外部网站/ doc链接doxygen中的深层内容(例如:特定函数)?

(目前,暗示用户使用家中的搜索框似乎是一个充分的解决方法)

doxygen permalinks

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

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

为什么 printf 中 int 到 float 转换失败?

使用 int 进行 float 隐式转换时,失败并显示 printf()

#include <stdio.h>

int main(int argc, char **argv) {
    float s = 10.0;
    printf("%f %f %f %f\n", s, 0, s, 0); 
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

用它编译时gcc -g scale.c -o scale会输出垃圾

./scale
10.000000 10.000000 10.000000 -5486124068793688683255936251187209270074392635932332070112001988456197381759672947165175699536362793613284725337872111744958183862744647903224103718245670299614498700710006264535590197791934024641512541262359795191593953928908168990292758500391456212260452596575509589842140073806143686060649302051520512.000000
Run Code Online (Sandbox Code Playgroud)

如果我显式地将整数转换为浮点数,或者使用 a 0.0(这是 a double),它会按设计工作。

#include <stdio.h>

int main(int argc, char **argv) {
    float s = 10.0;
    printf("%f %f %f %f\n", s, 0.0, s, 0.0); 
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当用它编译时gcc -g scale.c -o scale确实输出预期的输出

./scale
10.000000 …
Run Code Online (Sandbox Code Playgroud)

c printf type-conversion implicit-conversion conversion-specifier

3
推荐指数
1
解决办法
149
查看次数

用于C++的分层内存分配器库

我的应用程序主要是分层组织的,所以我发现像APR内存池这样的东西是最好的方法.

虽然在这里这里阅读关于C++ placement new帖子的SO ,以及一个更通用的C分配问题,我正在考虑手工制作分层池分配器,如同一篇文章中所建议的那样,但在纯NYI传统中,我首先要问的是这样的事情是否已经存在.

它还可以具有能够将未使用的内存返回给OS的良好属性(因为可以完成分配mmap(MAP_ANON)),或者可以像这里建议的Ferrucico那样从堆栈分配.

c++ memory-management hierarchical

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