小编bob*_*obo的帖子

NSString没有指定'assign','retain'或'copy'属性

我在一个类中声明了一个NSString属性,而且Objective-c抱怨:

NSString没有指定'assign','retain'或'copy'属性

然后随便让我知道"使用"分配".

有人可以向我解释正常C内存管理功能方面的分配,保留复制之间的区别吗?

memory-management objective-c nsstring

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

Python代码创建密码加密的zip文件?

创建密码加密的zip文件的Python代码是什么?我可以在命令行上使用系统使用一些apt-get'able实用程序.

python

13
推荐指数
3
解决办法
4万
查看次数

3个索引缓冲区

因此,在D3D和OpenGL中都可以从索引缓冲区中进行绘制.

然而,OBJ文件格式做了一些奇怪的事情.它指定了一堆顶点,如:

v -21.499660 6.424470 4.069845
v -25.117170 6.418100 4.068025
v -21.663851 8.282170 4.069585
v -21.651890 6.420180 4.068675
v -25.128481 8.281520 4.069585

然后它指定了一堆普通的像..

vn 0.196004 0.558984 0.805680
vn -0.009523 0.210194 -0.977613
vn -0.147787 0.380832 -0.912757
vn 0.822108 0.567581 0.044617
vn 0.597037 0.057507 -0.800150
vn 0.809312 -0.045432 0.585619

然后它指定了一堆像这样的tex coords

vt 0.1225 0.5636
vt 0.6221 0.1111
vt 0.4865 0.8888
vt 0.2862 0.2586
vt 0.5865 0.2568
vt 0.1862 0.2166

然后它在模型上指定"面孔",如:

f 1/2/5 2/3/7 8/2/6
f 5/9/7 6/3/8 5/2/1

在我们v/t/n的情况下,第一个数字是顶点数组的索引,第二个是tex coord数组的索引,第三个是normals数组. …

opengl 3d direct3d

13
推荐指数
1
解决办法
5508
查看次数

C++代码中的额外括号括号

有时你遇到的代码有额外的括号括号,与范围无关,只是为了便于阅读和避免错误.

例如:

GetMutexLock( handle ) ; 
{
  // brace brackets "scope" the lock,
  // must close block / remember
  // to release the handle.
  // similar to C#'s lock construct
}
ReleaseMutexLock( handle ) ;
Run Code Online (Sandbox Code Playgroud)

我见过的其他地方是:

glBegin( GL_TRIANGLES ) ;
{
  glVertex3d( .. ) ;
  glVertex3d( .. ) ;
  glVertex3d( .. ) ;
} // must remember to glEnd!
glEnd() ; 
Run Code Online (Sandbox Code Playgroud)

如果未释放互斥锁,则会引入编译器错误(假设您同时记住}和Release()调用).

  1. 这是一种不好的做法吗?为什么?
  2. 如果它不是一个,它可以改变代码编译的方式或使其变慢吗?

c++ curly-braces

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

如何为OpenGL的线条添加发光效果?

如何在我绘制的线条上添加发光效果?我正在使用OpenGL for Linux.

c++ linux opengl bloom

13
推荐指数
3
解决办法
2万
查看次数

参数值的尖括号是什么,它用于什么?

我习惯用尖括号来指定一个类型,作为参数:

vector<int> vecOfInts ;
Run Code Online (Sandbox Code Playgroud)

但是在rapidjson中,有这样的代码:

document.Parse<0>(json) ;
Run Code Online (Sandbox Code Playgroud)

document.Parse方法的签名是:

template <unsigned parseFlags>
GenericDocument& Parse(const Ch* str) {
    RAPIDJSON_ASSERT(!(parseFlags & kParseInsituFlag));
    GenericStringStream<Encoding> s(str);
    return ParseStream<parseFlags>(s);
}
Run Code Online (Sandbox Code Playgroud)

我不知道你可以在尖括号内传递一个 - 思想尖括号仅用于类型名称.

这里的代码是什么,为什么他在尖括号中传递一个

这是一个好主意吗?什么时候?

c++ syntax templates

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

将纹理复制到屏幕缓冲区而不绘制四边形(opengl)

是否有快速功能将纹理blit到屏幕缓冲区(不使用扩展)?我需要反向的glCopyTexImage2D().

这样的功能存在吗?

opengl

13
推荐指数
1
解决办法
8426
查看次数

以编程方式检测iPad是否有Retina显示屏?

如何以编程方式(Objective-C)iPad是否具有Retina显示屏?

objective-c ipad ios

13
推荐指数
2
解决办法
6368
查看次数

DASH的HTML实体

有时会在页面上放两个破折号 - 在极少数情况下会混淆HTML.

例如,如果你输入 - 进入你的Wordpress博客,它实际上会把它捏成一个 - .这对于需要--options --to --be --specified --this --way的代码不适用.

- 的实体是&ndash,更长的是 - — 但是在页面中输入NORMAL DASH的HTML实体是什么?

html entity

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

"几乎可以分割"

我想检查一个浮点值是否"几乎"是32的倍数.例如64.1"几乎"可被32整除,因此是63.9.

现在我这样做:

#define NEARLY_DIVISIBLE 0.1f
float offset = fmodf( val, 32.0f ) ;
if( offset < NEARLY_DIVISIBLE )
{
    // its near from above
}
// if it was 63.9, then the remainder would be large, so add some then and check again
else if( fmodf( val + 2*NEARLY_DIVISIBLE, 32.0f ) < NEARLY_DIVISIBLE )
{
    // its near from below
}
Run Code Online (Sandbox Code Playgroud)

有更好的方法来做到这一点?

numbers modulo visual-c++

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