小编man*_*lio的帖子

在C++中,什么是虚拟基类?

我想知道" 虚拟基类 "是什么以及它意味着什么.

让我举个例子:

class Foo
{
public:
    void DoSomething() { /* ... */ }
};

class Bar : public virtual Foo
{
public:
    void DoSpecific() { /* ... */ }
};
Run Code Online (Sandbox Code Playgroud)

c++ virtual-inheritance

389
推荐指数
6
解决办法
30万
查看次数

如何将可选参数传递给C++中的方法?

如何将可选参数传递给C++中的方法?任何代码片段......

c++ optional-arguments

93
推荐指数
8
解决办法
12万
查看次数

boost :: function和boost :: bind如何工作

我不喜欢在我的代码中散布着魔术盒......这两个类究竟是如何工作的,基本上允许任何函数映射到一个函数对象,即使函数<>有一个完全不同的参数设置为一个im传递给 boost::bind

它甚至适用于不同的调用约定(即成员方法__thiscall在VC下,但"普通"函数通常__cdecl或者__stdcall需要与C兼容的那些).

c++ boost boost-bind boost-function

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

如何从C++中的字符串获取文件扩展名

给定一个字符串"filename.conf",如何验证扩展部分?

我需要一个跨平台的解决方案.

c++ string filenames file-extension

73
推荐指数
9
解决办法
16万
查看次数

boost :: noncopyable有什么优点

为了防止复制类,您可以非常轻松地声明私有复制构造函数/赋值运算符.但你也可以继承boost::noncopyable.

在这种情况下使用boost有什么优点/缺点?

c++ boost noncopyable

64
推荐指数
7
解决办法
3万
查看次数

如何在Windows上更新MinGW中的GCC?

我习惯在Ubuntu之前从源代码手动安装GCC,这是一个痛苦的过程.所以我真的不想重复这个过程.目前,我的机器上安装了MinGW和GCC(4.6.2).那么有没有一种简单的方法来更新GCC而不是完全从源代码构建它?有人做过之前可以分享一些提示吗?

c++ gcc mingw c++11

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

为什么size_t未签名?

Bjarne Stroustrup在C++编程语言中写道:

无符号整数类型非常适合将存储视为位数组的用途.使用无符号而不是int来再获得一位来表示正整数几乎不是一个好主意.通过声明无符号变量来确保某些值为正的尝试通常会被隐式转换规则所取代.

size_t似乎是无符号的"再获得一位代表正整数".那么这是一个错误(或权衡),如果是这样,我们应该在我们自己的代码中最小化它的使用吗?

Scott Meyers的另一篇相关文章就在这里.总而言之,他建议不要使用无符号in接口,无论值是否总是正数.换句话说,即使负值没有意义,也不一定要使用无符号.

c++ size-t unsigned-integer

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

如何将boost :: optional设置回未初始化状态?

我如何"重置"/"取消设置" boost::optional

optional<int> x;

if( x )
{
  // We won't hit this since x is uninitialized
}
x = 3;
if( x )
{
  // Now we will hit this since x has been initialized
}
// What should I do here to bring x back to uninitialized state?
if( x )
{
  // I don't want to hit this
}
Run Code Online (Sandbox Code Playgroud)

c++ boost boost-optional

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

未找到版本"CXXABI_1.3.8"(需要......)

当我在编译后运行我的程序时,我收到以下错误:

./prog:/usr/lib/x86_64-linux-gnu/libstdc++.so.6:CXXABI_1.3.8' not found (required by ./prog) ./prog: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version找不到版本GLIBCXX_3.4.19(./prog要求)./ prog:/ usr/lib/x86_64-linux-gnu/libstdc ++.so.6:找不到版本`GLIBCXX_3.4.20'(/home/arman/lib/boost_1_55_0/stage/lib/libboost_serialization.so.1.55.0要求)

我有两个升压1.55.0和安装GCC 4.9.0 ~/lib/boost_1_55_0,并~/lib/gcc-4.9.0分别与我猜这就是为什么我有问题,但我不知道如何去修复它.

~/.profile包含以下行:

export LD_LIBRARY_PATH =/home/user/lib/boost_1_55_0/stage/lib:$ LD_LIBRARY_PATH

c++ linux gcc boost gcc4.9

48
推荐指数
1
解决办法
12万
查看次数

在grid.Call(L_textBounds,as.graphicsAnnot(X $标签),X $ X,X $ Y,错误:多边形边缘未找到

我刚刚在Mac OS X上安装了RStudio,版本10.7.3执行以下命令后

library(ggplot2)
qplot(mpg, wt, data=mtcars)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Error in grid.Call(L_textBounds, as.graphicsAnnot(x$label), x$x, x$y,  : 
  Polygon edge not found
In addition: Warning messages:
1: In grid.Call(L_textBounds, as.graphicsAnnot(x$label), x$x, x$y,  :
  no font could be found for family "Arial"
2: In grid.Call(L_textBounds, as.graphicsAnnot(x$label), x$x, x$y,  :
  no font could be found for family "Arial"
Run Code Online (Sandbox Code Playgroud)

任何想法,重启都没有用!!

干杯

r ggplot2

47
推荐指数
5
解决办法
3万
查看次数