小编Dmi*_*gin的帖子

是否可以在C++中使用函数返回类型作为参数来声明另一个函数?

我想要这样的东西:

std::tuple<int, bool, double> MyFunction_1 (void);

void MyFunction_2 (decltype (MyFunction_1) &params);
Run Code Online (Sandbox Code Playgroud)

显然,在这个例子中,将传递一个代码指向函数的指针.

我想要相当于这个:

void MyFunction_2 (std::tuple<int, bool, double>  &params);
Run Code Online (Sandbox Code Playgroud)

有可能这样做吗?

c++ decltype c++11

31
推荐指数
2
解决办法
2476
查看次数

是否可以将std :: basic_string用作char *的包装器?

我有第三方库,该库返回由strdup(分别为wcsdup函数)在其中创建的char *(和wchar_t *)。

我想避免在代码末尾手动调用free。

是否可以为std :: basic_string编写分配器,以便处理该库返回的C字符串?理想情况下,我根本不希望分配任何新内存,而是使用返回的内存块(字符串应该是常量)。

c++ memory-management stl c++11

7
推荐指数
1
解决办法
176
查看次数

VS2017中的_crtBreakAlloc

我尝试使用CRT找出内存泄漏。我正在使用Visual Studio 2017社区。我遵循了官方帮助,但无法正常工作。

我在“监视”窗口中尝试了不同的输入。那就是我得到的:

_crtBreakAlloc标识符“ _crtBreakAlloc”未定义

我尝试了在另一个问题中发现的建议,并得到了相同的结果:

(int *){,, ucrtbased.dll} _crtBreakAlloc标识符“ _crtBreakAlloc”未定义

(int *){,, ucrtbased.dll} __ crtBreakAlloc标识符“ __crtBreakAlloc”未定义

调试构建,运行时库多线程调试DLL(/ MDd)。

我试图调用函数_CrtSetBreakAlloc,它的工作原理。

那么重新编译并调用此函数是唯一的选择吗?还是我缺少明显的东西?

c++ memory-leaks crt visual-studio-2017

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