小编jac*_*hab的帖子

Derived类如何从Base类继承静态函数?

struct TimerEvent
{
   event Event;
   timeval TimeOut;
   static void HandleTimer(int Fd, short Event, void *Arg);
};
Run Code Online (Sandbox Code Playgroud)

HandleTimer需要是静态的,因为我将它传递给C库(libevent).

我想继承这门课.如何才能做到这一点?

谢谢.

c++ inheritance static

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

警告:返回临时引用

我有这样的功能

const string &SomeClass::Foo(int Value)
{
    if (Value < 0 or Value > 10)
        return "";
    else
        return SomeClass::StaticMember[i];
}
Run Code Online (Sandbox Code Playgroud)

我得到warning: returning reference to temporary.这是为什么?我认为函数返回的两个值(引用const char*""和对静态成员的引用)不能是临时的.

c++ reference

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

我应该预先分配std :: stringstream吗?

std::stringstream广泛使用在我的应用程序中构造字符串和错误消息.在stringstreams通常寿命很短的自动变量.

这样的使用会导致每个变量的堆重新分配吗?我应该从临时stringstream变量转换为类成员变量吗?

在后一种情况下,我该如何保留stringstream缓冲区?(我应该用足够大的字符串初始化它还是有更优雅的方法?)

c++ stl stringstream

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

将char缓冲区附加到STL中的vector <char>

将C buffer(char *)的内容附加到结尾的正确(有效)方法是std::vector<char>什么?

c++ stl vector

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

在哪里放置switch/case语句与块

当我case在C++中的代码块周围使用大括号来本地化变量时,我应该放在break块的内部还是外部?

case FOO:  // 'break' inside
  {
    int i;
    doStuff();
    break;
  }

case BAR: // 'break' outside
  {
    int i;
    doStuff();
  }
  break;
Run Code Online (Sandbox Code Playgroud)

谢谢.

c++ syntax

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

可以在内置类型中使用C风格的强制转换吗?

在这里阅读了很多关于C++ C++风格的答案后,我还有一个小问题.我是否可以将C风格的铸件用于内置类型,long x=(long)y;或者它仍然被认为是坏的和危险的?

c++ casting

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

任何禁用`tempnam'的方法都是危险的,更好的使用`mkstemp'gcc警告?

我只使用tempnam()来获取目录名,因此这个安全警告不适用于我的情况.我该如何禁用它?我找不到任何开关来做它.

gcc warnings

16
推荐指数
1
解决办法
9042
查看次数

在运行时获取C++对象名称

我可以在运行时获取对象的名称(比如通过RTTI获取对象的类型)吗?我希望对象能够打印其名称.

谢谢.

c++ runtime

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

std :: vector.pop_back()是否会改变向量的容量?

如果我使用resize()reserve()在程序开始时将std :: vector分配给某个大小和容量,是否有pop_back()可能"破坏"保留容量并导致重新分配?

c++ memory-management stl vector

14
推荐指数
1
解决办法
5855
查看次数

对象池与动态分配

应该何时更喜欢对象池而不是动态分配的对象?

我需要每秒创建和销毁数千个对象.它本身是否足以决定支持对象池?

谢谢.

c++ memory-management object-pooling

13
推荐指数
4
解决办法
9354
查看次数