来自一个 "傻瓜 "的问题 - 页 19

 
请解释这一行的含义((m_patterns_usage&(((int)1)<<p))!=0) ?
 
_____Life_Line:
请解释字符串((m_patterns_usage&(((int)1)<< p))!=0)的含义?

该行的意思是检查m_patterns_usage 变量的第p 位是否与1 相等(更确切地说,是与0不相等)。

阅读更多。

((int)1) : 指将单位转换为int类型,以防止编译器自动将其转换为最小整数类型(char)。

((int)1)<< p : 表示一个int类型的单位向左移位p位。

(m_patterns_usage&(((int)1)<<p)) : 位操作 而且,如果至少有一个结果位不等于1,它将导致0。

你可以自己从参考书上研究一下位法"&"和"|"操作的 结果。如果你想继续编程,你不能没有它。

 
你可能需要对变量进行去初始化,用于什么?
 
Silent:
为什么需要对变量进行去初始化?

如果你解释一下是怎么做的,我就会想出一个合理的用途,如果我有一丝机会的话。;)

没有必要对变量进行去初始化,但释放由指针(动态创建的对象)引用的内存是非常可取的。总是这样。

 
MetaDriver:

如果你能解释怎么做,我一定会想出合理的用途,如果有一丝机会的话。;)

没有必要对变量进行去初始化,但释放由指针(动态创建的对象)引用的内存是非常可取的。总是这样。

string s2=NULL;               // деинициализация строки

从这里开始

但我想知道为什么。以防万一。

而且这些对象不需要强行去初始化,终端在删除前会自己去做?

 
Silent:

从这里

这是在字符串转换中。也许你的意思是只分配一个空值?
 
Silent:
这是在字符串转换中。 也许你的意思是只分配一个空值?
我也这么认为。
 
你好,我如何在编辑器中改变光标模式?我总是用粗体字,当我按下空格键时,它就会擦掉字符,我怎样才能切换到正常的......?
 
Diubakin:
你好,我如何在编辑器中改变光标模式?我总是用粗体字,当我按下空格键时,它就会擦掉字符,我怎样才能切换到正常的......?
按插入键。
 
谢谢你