小编the*_*man的帖子

像sprintf一样的std :: string格式

我必须格式化std::stringsprintf,并将其发送到文件流.我怎样才能做到这一点?

c++ string formatting stl

412
推荐指数
17
解决办法
77万
查看次数

为什么标题中的C++内联函数?

注意:这不是关于如何使用内联函数或它们如何工作的问题,更多的是为什么它们按照它们的方式完成.

类成员函数的声明不需要定义函数inline,它只是函数的实际实现.例如,在头文件中:

struct foo{
    void bar(); // no need to define this as inline
}
Run Code Online (Sandbox Code Playgroud)

那么,为什么一类功能的内嵌实施是在头文件?为什么我不能把内联函数放在.cpp文件中?如果我在哪里尝试将内联定义放在.cpp文件中,我会得到一个错误:

error LNK2019: unresolved external symbol 
"public: void __thiscall foo::bar(void)"
(?bar@foo@@QAEXXZ) referenced in function _main 
1>C:\Users\Me\Documents\Visual Studio 2012\Projects\inline\Debug\inline.exe 
: fatal error LNK1120: 1 unresolved externals
Run Code Online (Sandbox Code Playgroud)

c++ theory language-design inline c++-faq

109
推荐指数
7
解决办法
9万
查看次数

编译器出错时显示'pi'符号

我在Coliru上测试了一些代码,我得到了一个奇怪的输出.我下了代码,可以使用这段简单的代码重现它:

int main()
{
    π
}
Run Code Online (Sandbox Code Playgroud)

g ++上的输出:

g ++上的输出

铛:

clang上的输出

例如,使用just pi(不带地址)显示预期结果:

main.cpp:3:5: error: 'pi' was not declared in this scope
    pi;
    ^
Run Code Online (Sandbox Code Playgroud)

我尝试在我的机器上使用g ++ 4.9.2和其他网站重现这个,但我不能.

这是这个网站上的一些错误,这些编译器的一些配置?

为什么只使用address-of运算符(&)显示此符号?

c++ coliru

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

什么是好的C反编译器?

我正在寻找一个C程序的反编译器.二进制文件是32位x86 Linux可执行文件.Objdump工作正常,所以基本上我正在寻找一些试图从asm源重建C源的东西.

89
推荐指数
4
解决办法
19万
查看次数

如何改组std :: vector?

我正在寻找一种通用的,可重用的方式来改变std::vectorC++中的一个.这就是我目前的做法,但我认为它不是很有效,因为它需要一个中间数组,它需要知道项目类型(在这个例子中是DeckCard):

srand(time(NULL));

cards_.clear();

while (temp.size() > 0) {
    int idx = rand() % temp.size();
    DeckCard* card = temp[idx];
    cards_.push_back(card);
    temp.erase(temp.begin() + idx);
}
Run Code Online (Sandbox Code Playgroud)

c++ shuffle stdvector

86
推荐指数
4
解决办法
7万
查看次数

C++中的异常是否真的很慢

我正在观看C++中的系统错误处理 - Andrei Alexandrescu他声称这Exceptions in C++非常非常慢.

我想知道这是否仍然适用 C++98

c++

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

使用PowerMockito.whenNew()不会被模拟并调用原始方法

我有一个类似下面的代码:

Class A {
  public boolean myMethod(someargs) {
    MyQueryClass query = new MyQueryClass();
    Long id = query.getNextId();
    // some more code
  }
}
Class MyQueryClass     {
  ....
  public Long getNextId() {
    //lot of DB code, execute some DB query
    return id;
  }
}
Run Code Online (Sandbox Code Playgroud)

现在我正在写一个测试A.myMethod(someargs).我想跳过真正的方法query.getNextId(),而是返回一个存根值.基本上,我想嘲笑MyQueryClass.

所以在我的测试用例中,我使用过:

MyQueryClass query = PowerMockito.mock(MyQueryClass.class);
PowerMockito.whenNew(MyQueryClass.class).withNoArguments().thenReturn(query);
when(query.getNextId()).thenReturn(1000000L);

boolean b = A.getInstance().myMethod(args);

//asserts
Run Code Online (Sandbox Code Playgroud)

我曾经@RunWith(PowerMockRunner.class)@PrepareForTest({MyQueryClass.class})我的测试类的开始.

但是,当我调试测试,它仍然是调用真正的方法getNextId()中的MyQueryClass类.

我在这里错过了什么?任何人都可以提供帮助,因为我是Mockito和PowerMockito的新手.

java junit mockito powermock

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

如何从数组中随机选取一个元素

我正在寻找从整数数组中随机选择数字的解决方案.

例如我有一个数组new int[]{1,2,3},我如何随机选择一个数字?

java

79
推荐指数
6
解决办法
19万
查看次数

编程中单例的目的

这无疑是一个相当宽松的问题.我目前对单身人士的理解是,他们是一个你设置的类,只有一个实例被创建.

这对我来说听起来很像静态类.主要区别在于,对于静态类,您不能/不能实例化它,您只需使用它Math.pi().使用单例类,你仍然需要做类似的事情

singleton firstSingleton = new singleton();
firstSingleton.set_name("foo");

singleton secondSingleton = new singleton();
Run Code Online (Sandbox Code Playgroud)

如果我错了,请纠正我,但firstSingleton == secondSingleton现在,是吗?

secondSingleston.set_name("bar");
firstSingleton.report_name(); // will output "bar" won't it?
Run Code Online (Sandbox Code Playgroud)

请注意,我独立询问这种语言,更多关于这个概念.所以我并不担心实际上如何编写这样一个类,但更多的是为什么你不愿意和你需要考虑什么.

language-agnostic theory singleton

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

没有键时,从HashMap <String,String>返回

什么是一个HashMap<String,String>回当我打电话map.get("键"),我没有与HashMap中的关键"钥匙"的条目?

java

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