小编fre*_*low的帖子

可测试辅助方法的访问修饰符是什么?

在Java中,通常标记辅助方法protected而不是private,因此同一包中的单元测试可以测试辅助方法.(具体来说,我正在使用JUnit.)

这似乎在Kotlin中不起作用.建议使用什么访问修饰符?

junit unit-testing packages access-modifiers kotlin

4
推荐指数
1
解决办法
359
查看次数

是否有与Integer :: sum相乘的乘法?

从Java 8开始,Integer该类有一个静态sum方法,它添加了两个整数:

public static int sum(int a, int b) {
    return a + b;
}
Run Code Online (Sandbox Code Playgroud)

我可以将此方法传递给高阶函数,通过Integer::sum这些函数我发现它更具可读性(a, b) -> a + b.

是否有类似的静态方法进行乘法,所以我不必写(a, b) -> a * b?我在Integer课堂上找不到一个.

java lambda higher-order-functions java-8 method-reference

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

map直接映射到Array

以下代码创建一个临时Vector:

0.to(15).map(f).toArray
^^^^^^^^
Sequence
^^^^^^^^^^^^^^^
    temp Vector
^^^^^^^^^^^^^^^^^^^^^^^
                  Array
Run Code Online (Sandbox Code Playgroud)

以下代码创建一个临时数组:

0.to(15).toArray.map(f)
^^^^^^^^
Sequence
^^^^^^^^^^^^^^^
     temp Array
^^^^^^^^^^^^^^^^^^^^^^^
                  Array
Run Code Online (Sandbox Code Playgroud)

有没有办法在序列上映射f并直接获取数组,而不产生临时?

arrays mapping scala vector temporary

4
推荐指数
1
解决办法
384
查看次数

Koenig Lookup的奇怪行为

考虑以下计划:

    namespace NS2 {
      class base { };

      template<typename T>
      int size(T& t) {
        std::cout << "size NS2 called!" << std::endl;
        return sizeof(t);
      } 
    };

    namespace NS1 {
      class X : NS2::base { };
    }

    namespace NS3 {
      template<typename T>
      int size(T& t) {
        std::cout << "size NS3 called!" << std::endl;
        return sizeof(t) + 1;
      }

      template<typename T>
      class tmpl 
      {
      public:
        void operator()() { size(*this); }
      };
    };

int main() +{
  NS3::tmpl<NS1::X> t;
  t();
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

我的编译器(gcc 4.3.3)不编译程序,因为对size的调用是不明确的.名称空间NS2似乎被添加到类tmpl中的size调用的关联名称空间集合中.即使在阅读了ISI标准中有关Koenig …

c++ templates g++ argument-dependent-lookup

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

C++如何随着TC++ PL的不同版本而改变?

(如果您不知道,"TC++ PL"代表"C++编程语言",这是由C++的发明者Bjarne Stroustrup撰写的一本书.)

我只有第三版,只是想知道C++在第一版和第二版中的表现.显然,第三版是唯一一个涵盖ISO标准C++的版本,但是在第一版发布后和第二版发布后,C++中添加了哪些主要功能?

c++

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

在设计/规划大型新个人项目时,哪些软件有用?

我有一个庞大且具有挑战性的C++项目,我计划进行这个项目,可能需要6-18个月来完成第一个版本.如果我将大部分时间都花在这上面,我会先详细计划,这是有道理的.

但它也只是我的工作,所以通常的瀑布设计工具的泥潭更可能是节省时间而不是节省时间.在像我这样的独立项目中工作,什么软件,如果比纸和笔更先进,对我最有帮助?

我知道这个问题有点主观,但我指望SO的社区机制能够为最高层提供最好的答案,以便对一个没有具体答案的问题得到一种民主的答案,每个人都会同意这个答案.

c++

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

在Visual C++ 2008中键入推断

Microsoft Visual C++ 2008中是否存在某些特定于供应商的类型推断机制,类似于标准化autodecltype在C++ 0x中?

c++ type-inference decltype visual-c++ c++11

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

类析构函数中的错误

我刚刚开始我的容器类,我已经遇到了问题:

class Container
{
    private:

    string* BasePointer; // The starting pointer.
    unsigned int Capacity; // The number of values the container can hold.

    public:

    Container() // Default constructor.
    {
        Capacity = 1;
        BasePointer = new string[Capacity];
    }

    ~Container() // Destructor.
    {
        delete BasePointer; // Delete the container to prevent memory leaking.
    }
};
Run Code Online (Sandbox Code Playgroud)

我收到了错误Container Classes(26467) malloc: *** error for object 0x100100088: pointer being freed was not allocated.我做错了什么?

c++ pointers destructor memory-leaks class

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

为什么"\ 400"不是编译时错误?

在0和255之间的字符值可以通过从八进制文字来表示"\000""\377".

那么不"\400"应该是编译时错误?Eclipse没有抱怨,但是......这里发生了什么?

java string unicode unicode-string string-literals

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

基于两个布尔变量的分支

假设我有两个布尔变量,我想根据它们的值做完全不同的事情.实现这一目标的最简洁方法是什么?

变式1:

if (a && b)
{
    // ...
}
else if (a && !b)
{
    // ...
}
else if (!a && b)
{
    // ...
}
else
{
    // ...
}
Run Code Online (Sandbox Code Playgroud)

变式2:

if (a)
{
    if (b)
    {
        // ...
    }
    else
    {
        // ...
    }
}
else
{
    if (b)
    {
        // ...
    }
    else
    {
        // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

变式3:

switch (a << 1 | b)
{
case 0:
    // ...
    break;

case 1:
    // ... …
Run Code Online (Sandbox Code Playgroud)

c++ if-statement function-pointers switch-statement control-flow

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