关于游戏加密 资源可以采用RC5 交互协议用token
对于C++的编译
并不需要#include文件的对应的cpp文件就可以编译了,因为编译过程只是声称一些标识(类似的汇编语句 如 [???]这种,在连接的过程才会进行替换其中的???)
例如有如下三个文件
aaa.h
class dddd
{
public:
dddd();
~dddd();
void dddddd(int);
int tttt(int);
};
bbb.h
#include "aaa.h"
class ffff
{
ffff(){};
~ffff(){};
void init();
public:
dddd* t;
// int a;
};
bbb.cpp
#include "bbb.h"
void ffff::init()
{
t = new dddd;
t->dddddd(1);
}
g++ -c bbb.cpp -o bbb.o
对于#pragma once 是应该在被包含的头文件中使用 比如有a,b,c,d四个头文件内容如下:
//a.h
#pragma once
extern int hchchc = 0;
//b.h
#include "a.h"
//c.h
#include "a.h"
//d.h
#include "b.h"
#include "c.h"
a.h被重复包含, 为防止这种情况 需要在a中添加
#pragma once
C++如何区别是拷贝构造还是赋值=?
初始化才会调用复制构造函数,其它的都调用赋值运算符。
class A {};
A a1;
A a2 = a1; //同类对象初始化,调用复制构造
A a3;
a3 = a1; //赋值,调用=号重载的函数