连 ifstream 都写不出来的好意思纠结怎么 allocate memory ? review 直接穿小鞋。
(就是自己实现,不止是分析;重点是 basic_filebuf ;别说找不到抄哪。)
清楚栈可能实际会造成问题是入门,但拿对实现细节和运行时假设的依赖当做拒绝的理由说服力是不大够的。
言简意赅、强而有力:就你也配挑三拣四?
就是甲方爸爸都特么不大可能配关心这种问题,还特么是这种方法论上就没靠谱结果的问题。
合格的 C 和 C++用户:知道 ISO C 和 ISO C++都根本就不管什么栈,哪怕拒绝分配栈给你自动对象于是 int main(){volatile char x = 0;}都炸栈 UB 也照样 conforming——原则上,自动对象根本不需要被 allocate 。
所以谁倒是给我发明个光扯什么 C++和 C style 就能怎么敲捣出 precise understanding 的方案出来?
会纠结 allocate memory 的,最起码也得了解一种 allocator model 并且会自己正确实现有实用意义的实例,写出用例说明相对默认策略有效改进在哪。
如果想装自认为有能力指定全局默认策略的专家,我会把门槛设置到用 C++11 正确实现 std::make_obj_using_allocator ,而不只是稀里糊涂分析具体实现。
分析不清楚 ISO C 和 POSIX 等相关 C API 设计缺陷甚至只会无脑 malloc 连 realloc 哪里弱鸡都没个谱的,禁止覆盖选型决策。
毕竟,这里有人也提到了,正常人是“通常应该清楚自己在做什么”,而不是“清楚系统和程序在做什么”。事实上,正常语言实现的设计从一开始压根就不会照顾任意允许 yy“清楚”细节的伪需求。
@
Jirajine “栈上”和“静态”,你是想说哪个?(虽然看上去哪个都说得通。)
@
GeruzoniAnsasu 想多了。就这观念,能 precisely alloc heap 就有鬼了,占位的 header 多大怕都搞不清楚。
@
iyeatse 就这症状,想 precise 是不是还要教清楚怎么算 I/O buffer ?
典型 C 实现中有些 buffer 配置可是找不到符号的呢……有的折腾了。
@
cntatch 就算埋坑,有关 bug 也可能从来不被发现,直到你替他擦屁股的时候。
@
chenzhongxiang 太放水了。
glibc 质量还是挺菜的,虽然主要是设计而不是实现问题。
@
zengmingyang96 指定个 2^4096B 试试?还有指定了就一定能留得出来?
@
dangyuluo 不管你拿多少,当务之急不是先考虑怎么把菜鸡撵走吗?
如果这同事就是给你发钱的老板,当我没说。……就指使别人撵(
@
saberlong 显然不是。都说拒绝 getline 了。
@
forcecharlie 这不就是自己造_IOLBF 特供的丐版 ifstream 么。
@
hu8245 正解,不过最好还是有代码风格合规负责人教育什么清楚事情应该什么人管。