草庐IT

allocator_traits

全部标签

c++ - 链接到 MFC 项目的没有 mfc 的 C++ 静态库是否抛出 bad_alloc 或 CMemoryException*?

我正在为MFC应用程序开发一个大型、老化的代码库。随着时间的推移,该代码已被许多开发人员处理,因此,我们在整个代码中采用三种不同的方式来处理new分配失败的可能性。第一种方法是在new的结果上测试NULL。我们不使用nothrownew.obj,所以这显然是一个需要清除的错误。第二个是捕获CMemoryException*(是的,编译器中启用了C++异常)。据我了解,MFC覆盖了标准的operatornew,而是抛出了这个东西。我相当确定这第二种方法在MFC应用程序本身中是正确的。MFC使用其奇怪的CMemoryException抛出版本覆盖新的。最后一个来self们的基础人员,他们精

c++ - 内存泄漏 : unable to break on a memory allocation number

我正在尝试找出内存泄漏问题。我的项目是一个基于ATL的对话框项目,它使用DirectShow和标准库。我的程序中总共有45个内存泄漏,每个都是24个字节。我在我的stdafx.h中#define'd_CRTDBG_MAP_ALLOC等,以及DEBUG_NEW以获取每个内存泄漏的文件和行号。但是,没有打印文件行号。内存块都是“普通”block,看起来像这样:{180}normalblockat0x003E6008,24byteslong.Data:_>>W>A0AE3E00B05F3E00A0AE3E0057000000我尝试将以下行添加到_tWinMain()的开头_CrtSetBre

c++ - type_traits - 连续内存

我有一个处理任何容器类型的接口(interface)。std::vector、std::array,甚至std::basic_string。问题是没有什么可以阻止某人传递没有连续内存的容器。我目前的解决方案是删除那些我想阻止的接口(interface)。voiddosoemthing(conststd::list&)=delete;voiddosoemthing(conststd::map&)=delete;但是,如果我可以只添加一个基于类型特征的静态断言,我会更愿意。这引出了我的问题。它们是否存在可用于识别其内存是否连续的容器类型特征?我一直在通过documentation来还没有找

c++ - 没有匹配函数调用 `std::basic_ofstream<char, std::char_traits<char>>::basic_ofstream(std::string&)'

我正在尝试编写一个程序,要求用户输入文件名,然后打开该文件。当我编译它时,出现以下错误:nomatchingfunctionforcalltostd::basic_ofstream>::basic_ofstream(std::string&)这是我的代码:usingnamespacestd;intmain(){stringasegurado;cout>asegurado;ofstreamentrada(asegurado,"");if(entrada.fail()){cout 最佳答案 std::ofstream如果您有C++11或

ios - 在 alloc 和 init 上保留计数

有些网站是这样说的:@property(nonatomic,strong)MyObject*foo;self.foo=[[MyObjectalloc]init];将保留计数增加到2但是自从最新的xcode版本或ARC,这应该不是问题吧?根据视频我们可以去掉所有的autorelease因此:@property(nonatomic,strong)MyObject*foo;self.foo=[[[MyObjectalloc]init]autorelease];变成这样@property(nonatomic,strong)MyObject*foo;self.foo=[[MyObjectallo

ios - 使用 ARC 启用项目的仪器中的 [[NSNumberFormatter alloc] init] 中出现内存泄漏

在我的项目中NSNumberFormatter发生有线内存泄漏。当我在Instrument中检查我的应用程序时,我遇到了很多框架泄漏,其中一个非常令人惊讶的泄漏是NSNumberFormatter在我分配该格式化程序对象时泄漏。这是我格式化数字值的函数://SetNumberFormatter-Like1000=1,000+(NSString*)getNumberWithNumberFormate:(NSString*)dataVal{NSNumberFormatter*aNumberFormatter=[[NSNumberFormatteralloc]init];[aNumberFo

iOS alloc popover Controller 导致崩溃

您好,我正在尝试通过单击按钮来实现弹出窗口,这是我以前成功完成的事情,但由于某种原因我无法实现。我现在使用的是iOS5。目前为止-(void)changetablebuttonPressed:(id)sender{UIButton*button=(UIButton*)sender;changetableView=[[ChangeTableViewControlleralloc]initWithNibName:@"ChangeTableViewController"bundle:nil];changetablePopover=[[UIPopoverControlleralloc]init

ios - 从 Storyboard 使用 UITableViewCell 时使用 alloc 和 init

我正在使用Storyboard做一个简单的应用程序,它有一个带有UITableView的View和一个UITableViewCell可以导航到另一个UIView.因此必须编写代码来填充表格View上的单元格。-(UITableViewCell*)tableView:(UITableView*)tableViewcellForRowAtIndexPath:(NSIndexPath*)indexPath{staticNSString*cellIdentifier=@"SampleCell";UITableViewCell*cell=[tableViewdequeueReusableCell

ios - 单例实现。阻止外部使用的 alloc 和 init 方法

我有一个我希望实现为单例的类。我希望创建/访问此类实例的唯一方法是通过:+(MYClass*)sharedInstance方法。alloc和init在方法实现中被调用(当然)。如果尝试创建该类的实例而不是通过sharedInstance方法(而是直接通过alloc+init),有没有办法阻止alloc和init的使用,或者使它们“空”? 最佳答案 如果在实现之外调用init,将此代码放在头文件中应该会产生编译时错误:-(id)init__attribute__((unavailable("cannotuseinitforthiscl

iphone - 解释 alloc/init 发生两次

我知道这个问题听起来很愚蠢,但请耐心等待。我构建了一个应用程序来帮助新开发人员围绕iPhone上的内存保留问题(还没有ARC)。它简单明了,4个按钮,初始化、访问、保留和释放。非常self解释。我正在显示我的字符串对象的保留计数,这是我们戳和戳的目标。(请不要讲授[myVarretainCount]的使用,我已经知道了)这些东西永远不会变成实际的应用程序,只是为了好玩而玩弄它,并希望能帮助人们了解内存的工作原理。我的保留和释放都很好用。我的问题是,如果我调用myString=[[NSMutableStringalloc]init];为什么我的保留计数会回落到1?再次。我可以将我的保留计