【发布时间】:2026-02-06 23:20:19
【问题描述】:
我在嵌入式环境 (Arduino/AVR ATMega328) 中工作,并希望在 C++ 中实现工厂方法模式。但是,我使用的编译器 (avr-gcc) 不支持 new 关键字。有没有办法在不使用new 的情况下实现这种模式?
【问题讨论】:
-
如何分配内存? D:
-
除此之外,它是否支持放置新的?我能想到的最好的方法是静态分配一块内存,然后你可以在那里放置新的任何东西。
-
内存要么分配在堆栈上(包括基于堆栈的对象构造),要么使用 malloc() - 它不支持对象构造。也不支持新的展示位置...
-
是的(见我之前的评论)。
-
我想一定有某种方法可以就地调用构造函数。它可能不符合标准,但它应该存在,以便您拥有相当于新的展示位置。
标签: c++ embedded avr avr-gcc factory-method