为什么我见过的所有例子中的常量总是以k开头?我应该在header或.m文件中#define常量吗?
我是Objective C的新手,我不知道C.是否有某些教程可以在不知道C的情况下解释这些类型的东西?
根据维基百科,x86是一个CISC设计,但我也听说过/它是RISC.什么是正确的?我还想知道为什么它是CISC或RISC.什么决定设计是RISC还是CISC?它只是微处理器所具有的机器语言指令的数量,还是有任何其他决定架构的特性?
哪些是可以在类中使用的特殊双下划线/ dunder方法的完整列表?(例如,__init__,__new__,__len__,__add__)
我应该如何为程序而不是库命名我的Haskell模块,并将它们组织在一个层次结构中?
我正在做一个叫做Luminosity的光线追踪器.首先,我有这些模块:
Vector Colour Intersect Trace Render Parse Export
Run Code Online (Sandbox Code Playgroud)
每个模块都很好,但我觉得这个组织缺乏.
首先,我把每个模块放在下面 Luminosity,所以例如Vector现在Luminosity.Vector(我认为这是haskell程序的标准?).
然后我想:矢量和颜色是独立的,可以重复使用,所以它们应该分开.但它们太小而无法变成图书馆.
他们应该去哪儿?已经有(上hackage)一Data.Vector和Data.Colour,所以我应该把它们放在那里?或者这会引起混淆(即使我将它们与我的其他本地导入一起导入)?如果没有,应该是Luminosity.Data.Vector或Data.Luminosity.Vector?我很确定我已经看过两个都用过了,虽然也许我刚刚看到一个使用非传统结构的项目.
我还有一个简单的TGA图像导出器(Export),可以独立于Luminosity.它似乎是正确的位置Codec.Image.TGA,但同样应该Luminosity在某处,如果是的话,在哪里?
如果Haskell项目的结构或其他维基解释了这一点,那就太好了.
haskell functional-programming module code-organization naming-conventions
我正在学习如何在iPhone上开发,我买了一本名为Beginning iPhone 3开发探索SDK的书.在我咬了之后我决定抛弃Interface Builder.我仍然在IB中设计我的所有视图,但是我在代码中编写了所有视图,并且只使用nib文件来获取控件的帧.
所以现在我需要制作一个UIButton,并且文档与其他控件不同.我尝试使用initWithFrame:,并且buttonWithType:我认为这个其他方法是自动释放的,但无论如何我无法在屏幕上显示按钮.有人可以写一些代码,在本地创建一个标题我可以更改的按钮,然后我可以添加到我的视图子视图和发布所以我可以看到它是如何完成的?
我已经知道dealloc你在做([object release];但在viewDidUnloadUIViewController子类中)你做了self.object = nil.真正的区别是因为self.object = nil(我们假设对象是(nonatomic, retain)属性)保留nil(什么也不做)然后释放旧值然后引用计数为0对吗?
我很确定这不是重复的.你用#pragma mark吗?我见过多种方式,这是正确的吗?
#pragma mark -
#pragma mark === Actions ===
#pragma mark -
#pragma mark -
#pragma mark === Actions ===
#pragma mark - === Actions ===
#pragma mark Actions
Run Code Online (Sandbox Code Playgroud)
你这样做的方式是什么?你怎么建议把它分开?您通常将您的部分命名为什么,例如视图控制器?
从效率的角度来看(或者如果它很重要的另一种观点),什么是可取的?
情况
一种OpenGL应用程序,每帧(60 fps)在不同位置绘制许多行.可以说有10行.或100 000行.答案会有所不同吗?
每一帧每行都会有一个glDrawArrays调用,而在两者之间会有矩阵变换来定位我们的一行
每个帧都有一个绘制调用
这是2012年.我在用C编写一些代码.我还在使用C89吗?还有编译器不支持C99吗?
我不介意用/* */而不是//.
我不确定C89 forbids mixing declarations and code.我倾向于认为在一个地方拥有所有声明实际上更具可读性,如果不是,则该功能太长.
VLA看起来很有用,但我还没有需要它们.
如果我没有令人信服的理由,我应该坚持使用C89吗?还有其他我没有考虑过的事情吗?