小编Mar*_*ote的帖子

处理C++"已初始化但未引用"警告是否会破坏范围助手?

在Visual Studio中,我经常仅将对象用于RAII目的.例如:

ScopeGuard close_guard = MakeGuard( &close_file, file );
Run Code Online (Sandbox Code Playgroud)

close_guard的全部目的是确保文件在函数退出时关闭,不在其他任何地方使用.但是,Visual Studio向我发出警告" 本地变量已初始化但未引用 ".我想针对这个特定情况关闭此警告.

你是如何处理这种情况的?Visual Studio认为这个对象没用,但这是错误的,因为它有一个非平凡的析构函数.

我不想为此使用#pragma警告指令,因为即使出于正当理由它也会关闭此警告.

c++ warnings visual-studio-2005

14
推荐指数
2
解决办法
6814
查看次数

[UIView beginAnimations]如何运作?

我想知道动画在Cocoa Touch中是如何工作的.例如:

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];

view1.alpha = 1.0;
view2.frame.origin.x += 100;

[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)

如何UIView跟踪两个视图属性的更改?

我怀疑使用了KVO,但它是否真的观察到beginAnimationscommitAnimations调用之间的每个视图的变化 ?

任何见解将不胜感激!

iphone animation cocoa-touch uiview

12
推荐指数
1
解决办法
1万
查看次数

如何在UITableView中显示NSSet?

你将如何继续显示NSSet一个UITableView?的内容?

如您所知,表视图将询问给定行的NSSet元素,但由于元素未被排序,因此不能很好地混合.

我目前的解决方案是迭代NSSet直到我到达给定索引处的元素,但这确实感觉不对.

你可能会问为什么我不使用NSArray.这是因为我使用的是Core Data,它使用NSSets来存储元素集合.

任何帮助,将不胜感激.

iphone uitableview nsset

10
推荐指数
1
解决办法
8658
查看次数

Bison可以解析UTF-8字符吗?

我正在尝试制作一个Bison解析器来处理UTF-8字符.我不希望解析器实际解释Unicode字符值,但我希望它将UTF-8字符串解析为字节序列.

现在,Bison生成以下代码,这是有问题的:

  if (yychar <= YYEOF)
    {
      yychar = yytoken = YYEOF;
      YYDPRINTF ((stderr, "Now at end of input.\n"));
    }
Run Code Online (Sandbox Code Playgroud)

问题是UTF-8字符串的许多字节将具有负值,并且Bison将负值解释为EOF,并停止.

有没有解决的办法?

c++ utf-8 bison

8
推荐指数
1
解决办法
3088
查看次数

如何将NSPanel显示为工作表

我正在尝试将NSPanel显示为工作表.我天真地做着这样的事情:

SheetController *sheetController = [[[SheetController alloc]
                                      initWithWindowNibName:@"Sheet"] autorelease];

[[NSApplication sharedApplication] beginSheet:sheetController.window 
                               modalForWindow:self.window
                                modalDelegate:self
                               didEndSelector:@selector(sheetDidEnd:returnCode:contextInfo:) 
                                  contextInfo:nil];
Run Code Online (Sandbox Code Playgroud)

出于某些原因,我无法解决这个问题.当调用此部分代码时,工作表会暂时闪烁(因为autorelease消息).纸张永远不会挂在窗户上.

如果有人能指出我可以找到更多信息的地方,那将非常感激.

cocoa objective-c nswindow cocoa-sheet

7
推荐指数
1
解决办法
6571
查看次数

在普通DLL上使用COM有什么好处?

假设您只在C++世界中工作(不需要跨语言互操作).您在使用COM而不是简单的基本DLL时看到了哪些优点/不便?如果你不打算使用不同语言的界面,你认为使用COM是值得的吗?

c++ com

6
推荐指数
3
解决办法
2554
查看次数

CATransform3D行/列顺序

关于CATransform3D结构的矩阵行/列顺序,我有点困惑.结构定义了这样的矩阵:

[m11 m12 m13 m14]
[m21 m22 m23 m24]
[m31 m32 m33 m34]
[m41 m42 m43 m44]
Run Code Online (Sandbox Code Playgroud)

首先,似乎值定义行(因此[m11 m12 m13 m14]形成第一行),但是当您通过(tx,ty,tz)创建转换矩阵时,矩阵将如下所示:

[ 1  0  0  0]
[ 0  1  0  0]
[ 0  0  1  0]
[tx ty tz  1]
Run Code Online (Sandbox Code Playgroud)

我的困惑来自于这不是一个有效的翻译矩阵; 将它与4元素列向量相乘将不会转换该点.

我的猜测是CATransform3D结构以列顺序存储值,因此值[m11 m12 m13 m14]构成第一列(而不是第一行).

谁能确认一下?

core-animation catransform3d

5
推荐指数
1
解决办法
1344
查看次数

如何处理编译器优化问题

我的iPhone应用程序遇到了烦人的问题.每当我将优化级别设置为"无"以外的其他级别时,我就会遇到计算错误.这只发生在为iPhone SDK构建时(iPhone模拟器总是很好).

我不介意在发布模式下禁用优化,但是当我这样做时应用程序有点太慢了.

应用程序很复杂,因此很难找到过于积极优化的部件.

我认为问题出在GCC方面,因为它似乎在优化ARM体系结构的代码时遇到了问题.

有没有办法只禁用代码的某些部分的优化?你会如何处理这类问题?

iphone optimization xcode gcc arm

4
推荐指数
1
解决办法
6470
查看次数

NSDocumentDirectory对于给定的应用程序是唯一的吗?

我想在我的iPhone应用程序中保存一些用户特定的数据.我正在查看SQLite示例,它使用类似于此的东西:

NSArray *paths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask ,YES );
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *writableDBPath = [documentsDirectory stringByAppendingPathComponent:dbName];
Run Code Online (Sandbox Code Playgroud)

我想知道的是,"writableDBPath"对我的应用程序来说是独一无二的吗?是否存在我的"dbName"与另一个应用程序使用的同名文件冲突的风险?

iphone cocoa

3
推荐指数
1
解决办法
3678
查看次数

如何使flex(词法扫描器)读取UTF-8字符输入?

似乎flex不支持UTF-8输入.每当扫描程序遇到非ASCII字符时,它就会停止扫描,就像它是EOF一样.

有没有办法强迫flex吃掉我的UTF-8字符?我不希望它实际上匹配UTF-8字符,只是在使用'.'时吃掉它们.图案.

有什么建议吗?

编辑

最简单的解决方案是:

任何[\ x00-\xff]

并使用'ANY'而不是'.' 在我的规则中.

utf-8 lexical-analysis flex-lexer

3
推荐指数
1
解决办法
6674
查看次数