为什么主要编译的第一行而第二行不编译?我认为两者都是临时性的,但一个被视为l值而另一个不被视为......
class complex
{
public:
complex() : r(0),i(0) {}
complex(double r_, double i_) : r(r_), i(i_)
{
}
private:
double r;
double i;
};
int main()
{
complex(2,2) = complex(1,2);
char() = char(2);
}
Run Code Online (Sandbox Code Playgroud) 我对获得的磁盘速度感到有些惊讶..我似乎能够在1秒内写出1GB的文件.
size_t s = 1*1024*1024;
char* c = new char[s];
FILE* fx = fopen("D:\\test.mine", "wb");
//ensure(fx);
for(int i = 0; i < 1024; ++i)
{
fwrite(c,1,s,fx);
}
fclose(fx);
delete[] c;
Run Code Online (Sandbox Code Playgroud)
我有点难以理解可能导致这种情况的原因?我以为fclose确保数据实际写在硬盘上......?
#include <iostream>
#include <cstdlib>
using std::cout;
class A
{
public :
A() { cout << "A()" << this << "\n";}
~A() { cout << "~A()" << this << "\n";}
//void func() { }
virtual void debug(int a) { cout << "A::debug";}
private :
int a;
};
class A1 : public A
{
public :
A1() { cout << "A1()"<< this << "\n";}
~A1() { cout << "~A1()"<< this << "\n";}
private :
int a1;
};
class A2 : public A …Run Code Online (Sandbox Code Playgroud) 我将 csv 文件读入名为rr. 角色栏被视为因素,这很好。
我是否正确理解这些levels只是unique列的值?IE
levels(rr$col) == unique(rr$col)
Run Code Online (Sandbox Code Playgroud)
然后我想去掉前导和尾随空格。(我不知道 read 中的 strip.WHITESPACE 选项)所以我做了
rr$col = str_trim(rr$col).
Run Code Online (Sandbox Code Playgroud)
现在rr$col不再是一个因素了。所以我做了
rr$col = as.factor(rr$col)
Run Code Online (Sandbox Code Playgroud)
但我现在发现它levels(rr$col)缺少一些独特的价值观!为什么?