我需要在c ++ linux中做一个澄清.
我有class C1另一个class C2.C1将有参考C2.
class C1
{
C2 &obj ;
}
Run Code Online (Sandbox Code Playgroud)
我在考虑两个选择,
C2as 的引用C2 &obj;C2,如c2* obj;哪个好?它有什么区别?何时选择?
我在以下情况下无法做出决定。请需要专家的帮助。
方案:在两个框中运行的两个进程之间存在TCP / IP通信。
通信方法1:在套接字上基于流的通信。在接收方的哪里,他将接收整个字节缓冲区,并将前几个固定字节解释为标头,然后对其进行反序列化,从而了解消息长度,并开始获取该长度的消息并反序列化,然后继续进行下一个消息标头,如下所示:上....
通讯方式2:将所有消息放入向量中,向量将驻留在类对象中。一次性将类对象序列化并发送给接收者。接收器反序列化类对象,并一一读取向量数组。
请让我知道哪种方法有效,如果有其他方法,请指导我。
基于类的数据传输和基于结构的数据传输的优缺点,以及哪种情况适合哪种情况?
在以下程序中:
using namespace std;
class c1;
class c2;
int main(int argc,char* argv[])
{
**c1 obj;
c2 obj_c2 = obj.method1();**
return0;
}
class c1
{
public:
c2 method1()
{
c2 obj1;
return obj1;
}
};
class c2
{
public:
int method2()
{
return 1;
}
};
Run Code Online (Sandbox Code Playgroud)
在main函数内部,两行代码给出了错误.我无法编译.