在Objective-C,我很好奇如何实例变量,如访问控制@private,@protected等来实现.
我曾经考虑过以某种方式生成单独的结构:
@interface Foo {
int bar;
@private
int baz;
@public
int qux;
}
Run Code Online (Sandbox Code Playgroud)
=> 一些东西
struct Class_Foo_Protected {
int bar;
};
struct Class_Foo_Private {
int baz;
};
struct Class_Foo_Public {
int qux;
};
Run Code Online (Sandbox Code Playgroud)
但我真的不知道.谁知道这是怎么做到的?
我经常发现C和C++标准很难阅读和理解,即使是简单的英语句子和它们的措辞也会带来可怕的体验.最重要的是,语言语法完全是地狱.我相信很多人都有同样的感觉,至少我的朋友会这样做.
我想通过一些例子来理解它.让我们用这个(它试图解释为什么开始the conditional expression in C++是不同的the conditional expression in C:(转引自维基百科)
C和C++中的运算符绑定是通过因式语言语法(而不是优先级表)指定的(在相应的标准中).这会产生一些微妙的冲突.例如,在C中,条件表达式的语法是:
逻辑OR表达?表达式:条件表达式
而在C++中它是:
逻辑OR表达?表达式:赋值表达式
因此,表达式:
e = a <d?a ++:a = d
两种语言的解析方式不同.在C中,此表达式是语法错误,但许多编译器将其解析为:
e =((a <d?a ++:a)= d)
这是一个语义错误,因为条件表达式(可能是++)的结果不是左值.在C++中,它被解析为:
e =(a <d?a ++ :( a = d))
这是一个有效的表达.
请有人解释上面引文中的粗体文字!请用更多的例子解释语法(特别是那些C和C++不同的例子).
编辑:我只想知道如何阅读和理解它们.我的意思是,如果我用英语口语解释,那我该怎么做?
如何在一行中输入逗号列表字段并将其显示在列中?
例如,
ID | Colour
------------
1 | 1,2,3,4,5
Run Code Online (Sandbox Code Playgroud)
至:
ID | Colour
------------
1 | 1
1 | 2
1 | 3
1 | 4
1 | 5
Run Code Online (Sandbox Code Playgroud) 在我分别将Xcode和iOS SDk升级到3.2.5和4.2之前,我可以在Xcode中选择文本,右键单击并在文档中选择查找文本,它会转到文档中的相应位置,但是现在如果我这样做了它要求我用我的苹果ID登录,然后它告诉我我没有被授权?但是我可以在像Chrome这样的普通网络浏览器中访问文档,但是如果没有方便选择和右键单击,那就太烦人了.(注意,我不是付费开发者,但我从来没有这样做过)
为什么是这样?只有我吗?以及如何解决?
我有一个非常复杂的类(它内部有unordered_map等等),我想用两个我的进程共享它的一个对象.我可以简单地将指针从一个进程传递到另一个进程吗?我想,不,但希望听到"是的!".
如果"不",我将很高兴看到任何链接如何处理这种情况.我需要为所有进程只有一个这个对象的实例,因为它非常大,并且所有进程都可以用于只读.
是否有全局变量会增加可执行文件的大小?如果有,怎么样?它是仅增加数据部分大小还是增加文本部分大小?
如果我有一个全局变量和初始化如下:
char g_glbarr[1024] = {"jhgdasdghaKJSDGksgJKASDGHKDGAJKsdghkajdgaDGKAjdghaJKSDGHAjksdghJKDG"};
Run Code Online (Sandbox Code Playgroud)
现在,这是否将1024添加到数据部分,并将启动字符串的大小添加到文本部分?
如果相反,如果静态地为这个数组分配空间,如果我malloc它,然后做一个memcpy,只有数据部分大小会减少或文本部分大小也会减少?
这段代码运行正常
float ff = 5.5f;
int fd = (int) ff;
Console.Write(fd);
Run Code Online (Sandbox Code Playgroud)
这个代码不在哪里
float ff = 5.5f;
object jf = ff;
int fd = (int) jf;
Console.Write(fd);
Run Code Online (Sandbox Code Playgroud)
跑步者的规则是什么导致这种情况发生?
我想禁止访问任何文件OR目录,其名称以DOT开头.我想出了下面的,但它禁止访问与DOT开头,只有当他们是直接在文档根目录的文件/目录.
<Files ~ "^\.|\/\.">
Order allow,deny
Deny from all
</Files>
Run Code Online (Sandbox Code Playgroud)
有了这个,
http://my_server.com/.svn/entries --> Permission denied
http://my_server.com/abcd/.svn/entries --> Accessible, should be disabled
Run Code Online (Sandbox Code Playgroud)
什么是正确的正则表达式来实现这一目标?
谢谢,
J.P
我有一个表填充用户生成的文本.文本跨越TD允许的范围,但是如果输入是由长字符串组成的字符串而没有破坏字符(空格,破折号等),则会使表格变得混乱.
例如ggggggggggggggggggggggggggggggggggggggggggggggggggggggg
我怎样才能让它们包裹起来呢?
谢谢.
我知道可以使用malloc完成,但我还不知道如何使用它.
例如,我希望用户使用带有哨兵的无限循环来输入几个数字以阻止它(即-1),但由于我不知道他/她将输入多少,我必须声明一个没有初始大小的数组,但我也知道它不会像这样的int arr []; 在编译时,因为它必须有一定数量的元素.
用夸张的大小来声明它如int arr [1000]; 会工作,但感觉愚蠢(并浪费内存,因为它会将1000个整数字节分配到内存中),我想知道更优雅的方式来做到这一点.