小编Bop*_*Bop的帖子

C++ 可以创建具有非字母名称的宏吗?

是否可以使预处理器用任意字符串替换任意字符串?

我想替换{+}{:.{}}

c++ c++20

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

C++ 如果 catch 块内发生异常会发生什么?

如果 catch 块内发生异常会发生什么?

try {}
catch(...)
{
    stream.close(); // IO exception here
}
Run Code Online (Sandbox Code Playgroud)

默认行为是什么?

c++

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

C++ 内存泄漏。Valgrind - 不匹配的删除

我从线程 #1 接收对象 - 它是第 3 方库代码 - 我的回调调用了它。

对象具有固定长度的字符串字段:

typedef struct somestr_t {
    char * Data;
    int    Len; } somestr_t;
Run Code Online (Sandbox Code Playgroud)

每次我都必须手动创建对象的副本,然后才能将其进一步传递给我的代码。因此,除其他外,我也使用这个助手复制这些字符串:

inline void CopyStr(somestr_t * dest, somestr_t * src)
{
    if (src->Len == 0) {
        dest->Len = 0;
        return;
    }

    char* data = new char[src->Len];

    memcpy(data, src->Data, src->Len);

    dest->Data = data;
    dest->Len = src->Len;
}
Run Code Online (Sandbox Code Playgroud)

然后我删除该对象及其字符串字段:

if (someobj != nullptr)
{
    if (someobj ->somestr.Len != 0) delete someobj ->somestr.Data;
    . . .
    delete someobj ;
}
Run Code Online (Sandbox Code Playgroud)

当我运行时, …

c++ linux valgrind memory-leaks

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

C++ 将快速 1、2、3 整数映射到硬编码字符?

我需要将 int 值 1,2,3 映射到字符 'C', 'M', 'A'

最快的方法是什么(这将被称为每秒 100 次 24/7)?

宏或内联函数和一堆 ?: 运算符或 ifs 或 switch?或者一个数组?

c++ performance

-2
推荐指数
1
解决办法
175
查看次数

标签 统计

c++ ×4

c++20 ×1

linux ×1

memory-leaks ×1

performance ×1

valgrind ×1