作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有格式字符串,而且我要解析它,而不是用输入参数替换格式说明符。现在,我考虑在替换参数之后如何为此类结果字符串分配内存。我可以分配此字符串,只要是格式字符串,但可以用其他字符串代替
任意长度的%s
将需要在不确定的融合中重新分配此字符串,这使得有必要在代码中进行一些微不足道的计算。
所以我想我可以按字符分配从格式字符串创建的字符串,每次按如下方式重新分配:
/*** for loop traversing next chars in format string ***/
// if new char
str = realloc(str, sizeof(*str) +1);
// if %s
str = realloc(str, sizeof(*str) + strlen(in_str));
// if %d
str = realloc(str, sizeof(*str) + strlen(d_str));
最佳答案
通常,内部库代码处理可变字符串/数组/列表/的长度/以其他方式执行2 ^ n个步骤,即,当您有4个字节的内存并需要分配5个字节时,它实际上分配了8个字节。这将减少realloc()调用〜log(n)操作非常昂贵。
但是,根据库的不同,可能会有其他优化。
关于c - 经常为字符串重新分配内存是一种好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38941128/
在我生活的世界中,构建一个将所有飞镖都扔到墙上的解决方案,并希望其中一些能命中靶心是一种非常糟糕的解决方案方法。 那么,我的问题出现了,什么时候在约定可接受的生产系统中使用 INSERT IGNORE
在数据处理时,经常会因为index报错而发愁。不要紧,本次来和大家聊聊pandas中处理索引的几种常用方法。 1.读取时指定索引列 很多情况下,我们的数据源是 CSV 文件。假设
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 6 年前。 Improve
我是一名优秀的程序员,十分优秀!