相关疑难解决方法(0)

你什么时候担心堆栈大小?

当您使用允许对非常大的对象使用自动分配的语言进行编程时,您何时以及如何担心堆栈大小?关于堆栈大小的推理是否有任何经验法则?

c++

13
推荐指数
5
解决办法
2220
查看次数

将char*分配给字符串而不复制

这是一个非常简单的问题,但我发现它很棘手.我想把char*它看作是一个std::string,例如:

    char *p = ...; // read a huge chuck from a file

    std::string s(p); // this is not what I want
Run Code Online (Sandbox Code Playgroud)

所以,如果我使用构造函数,我得到一个p的副本,这是浪费内存和时间.有可能以某种方式避免这种情况,并将内容" 分配 " std::string到预先存在的地址吗?

任何其他想法都非常受欢迎!

谢谢!

c++ arrays string copy

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

大缓冲区与大型静态缓冲区有比较优势吗?

请考虑以下代码.

DoSomething1()在1000次连续执行中比DoSomething2()更快吗?我会假设,如果我在哪里调用DoSomething1()它1000次,它会比调用DoSomething2()1000倍更快.

使我的所有大缓冲区都静止有什么不利吗?

#define MAX_BUFFER_LENGTH 1024*5 
void DoSomething1()
{
    static char buf[MAX_BUFFER_LENGTH] ; 
    memset( buf, 0, MAX_BUFFER_LENGTH );
}

void DoSomething2()
{
    char buf[MAX_BUFFER_LENGTH] ; 
    memset( buf, 0, MAX_BUFFER_LENGTH );
}
Run Code Online (Sandbox Code Playgroud)

感谢您的时间.

c++ optimization performance

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

标签 统计

c++ ×3

arrays ×1

copy ×1

optimization ×1

performance ×1

string ×1