小编Man*_*att的帖子

将类型参数传递给自引用指针

template <class T>
class Node {
    private:
        T m_value;
        //Node* m_ptr;    //(1)
        //Node<T>* m_ptr; //(2)
};
Run Code Online (Sandbox Code Playgroud)

有人可以解释上述两个陈述(1)和(2)之间的区别吗?这两个语句似乎都在编译,但我似乎无法找到ISO C++对它们所说的内容.

c++ templates class definition

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

有条件地将项目添加到 HashMap 的有效方法

是否有一种有效且最少冗余的方法来有条件地将新项目放入地图中。

GenericObject genericObject;
...
FieldObject obj = genericObject.getFieldObject();
if(obj == null) {
    map.put("key1", null);
    map.put("key2", null);
} else {
    map.put("key1", obj.getField1());
    map.put("key2", obj.getField2());
}
Run Code Online (Sandbox Code Playgroud)

我能做的最好的是以下,但很好奇是否有更好的方法在 Java 9 中执行上述操作。

boolean insert = obj != null;
map.put("key1", insert? obj.getField1() : null);
map.put("key2", insert? obj.getField2() : null);
Run Code Online (Sandbox Code Playgroud)

java optimization spring-boot java-9

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

标签 统计

c++ ×1

class ×1

definition ×1

java ×1

java-9 ×1

optimization ×1

spring-boot ×1

templates ×1