我知道字符串文字总是以 null 结尾,甚至""长度为 1。
原始字符串文字的情况是否相同,例如:R"()"长度是否为 1?
我读到 switch 情况下的初始化应该给出编译器错误。但是当我尝试了两个不同的版本时。一个是没有给出错误(Ex1),我不明白为什么。
例 1:
switch (i)
{
case 1:
int k;
break;
case 2:
int j=3;
break;
}
Run Code Online (Sandbox Code Playgroud)
例2:
switch (i)
{
case 1:
int k=3;
break;
case 2:
int j;
break;
}
Run Code Online (Sandbox Code Playgroud) 我一直在阅读维基百科(名称解析WIKI)中的"名称解析",并且已经给出了C++使用"静态名称解析".如果这是真的那么我无法弄清楚C++如何在不使用动态名称解析的情况下设法提供"多态".
任何人都可以回答C++是否使用"静态名称解析"或"动态名称解析".如果它是静态的,你还可以解释C++如何提供多态性.
我读到只有当类中有虚函数时,析构函数才应该被声明为虚拟的。这是一项要求还是可以做其他事情?
让我们说如果我必须打印时间和日期三次,我必须写
echo %date% %time%
echo %date% %time%
echo %date% %time%
Run Code Online (Sandbox Code Playgroud)
上面的代码打印了三个不同的时间,如果我将%date %% time%指定给一个变量(为了避免每次都写入它们),那么它打印常数值三次,
set a=%date%_%time%
echo %a%
echo %a%
echo %a%
Run Code Online (Sandbox Code Playgroud)
但是我想创建%a%一次变量,并在它们发生变化时仍然回显实际的日期和时间.
为什么创建对象需要构造函数?即使我没有定义构造函数,也会生成默认构造函数..但为什么构造函数必需?
我已经读过除输出迭代器之外的所有其他类别的迭代器至少支持==和!=运算符.
为什么输出迭代器不支持这个?
c++ ×6
c++11 ×2
batch-file ×1
cmd ×1
constructor ×1
destructor ×1
iterator ×1
rawstring ×1
stl ×1
string ×1