小编Luc*_*ore的帖子

Linux分配器不会释放小块内存

Linux glibc分配器似乎表现得很奇怪.希望有人可以对此有所了解.这是我的源文件:

first.cpp:

#include <unistd.h>
#include <stdlib.h>
#include <list>
#include <vector>

int main() {

  std::list<char*> ptrs;
  for(size_t i = 0; i < 50000; ++i) {
    ptrs.push_back( new char[1024] );
  }
  for(size_t i = 0; i < 50000; ++i) {
    delete[] ptrs.back();
    ptrs.pop_back();
  }

  ptrs.clear();

  sleep(100);

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

second.cpp:

#include <unistd.h>
#include <stdlib.h>
#include <list>

int main() {

  char** ptrs = new char*[50000];
  for(size_t i = 0; i < 50000; ++i) {
    ptrs[i] = new char[1024];
  }
  for(size_t i = …
Run Code Online (Sandbox Code Playgroud)

c++ memory heap allocation

15
推荐指数
3
解决办法
3549
查看次数

在C#中用信号通知未实现方法的惯用方法

我正在为C#应用程序构建框架,并打算在没有实现的情况下留下一堆方法 - 返回虚拟值.我打算回复他们,但不要忘记忘记实施任何一个.

当我到达未实现的方法时,我想发出信号,并继续使用虚拟值执行.

这样做的惯用方法是什么?

c# idioms

15
推荐指数
1
解决办法
617
查看次数

将一元运算符联合起来是否有意义?

来自http://en.cppreference.com/w/cpp/language/operator_precedence的C++运算符优先级表(我知道它不是规范性的,但标准不讨论优先级或关联性)将一元运算符标记为右/左关联.

从对不同问题的讨论中,我怀疑.将一元运算符联合起来是否有意义?

c++ operators unary-operator associativity

15
推荐指数
1
解决办法
4830
查看次数

14
推荐指数
3
解决办法
6548
查看次数

允许`?`被转义的理由是什么?

2.13.2/3开始

双引号"和问号?可以表示为它们自己或由转义序列\"\?[...]表示.

简单地说,以下内容:

char x = '\?'; //or '\"'
char y = '?';  //or '"'
Run Code Online (Sandbox Code Playgroud)

代表相同的角色.为什么对待这两个(特别是?)与其他角色不同?

c++ language-design language-lawyer

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

舍入到最接近的数字的倍数

有没有一种惯用的方法来舍入到最接近的数字的倍数,而不是向上和向下舍入并看哪一个最接近?

假设只有整数:

number   multiple   result
12       5          10
13       5          15
149      10         150
Run Code Online (Sandbox Code Playgroud)

c++ math

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

我们在哪里可以使用列表初始化

这个问题已经涵盖了POD和聚合的内容,并提供了有关聚合初始化的一些示例.

这里的问题是哪里可以使用列表初始化?

您还可以哪里使用(缺少更好的术语)列表分配?

答案应该同时处理C++ 03和C++ 11,突出它们之间的差异.

c++ aggregate initialization c++11

13
推荐指数
1
解决办法
3042
查看次数

13
推荐指数
2
解决办法
820
查看次数

从没有虚拟方法的基类继承不好的做法?

我回忆一下有关dynamic_cast的问题.dynamic_cast无法工作,因为基类没有虚方法.其中一个答案说,从没有虚拟方法的类派生通常意味着糟糕的设计.它是否正确?即使没有利用多态性,我仍然无法看到这样做的错误.

c++ inheritance

11
推荐指数
1
解决办法
3608
查看次数

如何减少搜索结果中的行长度?

有没有办法告诉Visual Studio只在搜索结果中显示文件名而不是完整路径?默认情况下,它显示实际行后面的完整文件路径.

如果确实如此,我可以让结果窗口在屏幕上占用更少的空间,并且不必费心滚动查看实际行(是的,完整路径很长).

visual-studio-2010 visual-studio

10
推荐指数
1
解决办法
189
查看次数