Bra*_* Ds 12 c c++ memory-management
是
WCHAR bitmapPathBuffer[512]
Run Code Online (Sandbox Code Playgroud)
堆栈分配好吗?或者最好使用堆这个大小?什么是合理的指示性大小什么时候从堆栈到堆栈更好...所有人都说"已经取决于"但是我们的大脑需要一些限制来定位.
您可能希望检查系统的默认堆栈大小,并考虑应用程序对递归的任何使用,以达到一个合理的阈值.
无论如何,对于典型的台式机,我认为~100kb合理地放在堆栈上的功能不会被递归调用而没有任何不寻常的考虑(我必须在看到下面的Windows有多严格后向下修改它).您可能会在特定系统上或多或少地达到一个数量级,但是在这一点上,您开始关心检查系统限制.
如果你发现你正在做的,在很多功能,你最好仔细考虑是否这些功能可以相互调用,或者只是动态分配(最好是含蓄通过使用vector,string等等),而不是担心.
100kb指南基于从网络中删除的这些默认堆栈大小数字:
platform default size # bits # digits
===============================================================
SunOS/Solaris 8172K bytes <=39875 <=12003 (Shared Version)
Linux 8172K bytes <=62407 <=18786
Windows 1024K bytes <=10581 <=3185 (Release Version)
cygwin 2048K bytes <=3630 <=1092
Run Code Online (Sandbox Code Playgroud)