我一直在环顾四周,我能找到的只是使用 github 管理数据库脚本的人。因此,它们不存储数据库,而是存储在数据库上执行的所有命令的列表,然后用于同步两个单独的数据库。
我正在使用许多 php 页面管理我的 MySQL 数据库。有什么方法可以让我在 github 上实际存储一个真实的数据库和我的网站,这样无论我在哪个盒子上工作,我都将使用相同的数据库?
在我的文件main.h的顶部,我有:
#include <vector>
class Blah
{
public:
Blah(){}
~Blah(){}
protected:
vector<int> someVector;
public:
//methods
};
Run Code Online (Sandbox Code Playgroud)
当我尝试编译时,向量声明行给出错误:
错误C2143:语法错误:缺少';' 在'<'之前
错误C4430:缺少类型说明符 - 假定为int.注意:C++不支持default-int
错误C2238:';'之前的意外标记
我无法弄清楚造成这种情况的原因.有谁看到我做错了什么?
我有以下设置:
//.h
class Cell
{
private:
POINT mCellStartingPoint;
int mXoffset;
int mYoffset;
public:
static void DrawRowOfPixels(int yoff);
Cell();
~Cell();
};
//.cpp
void Cell::DrawRowOfPixels(int yoff)
{
HDC dc = GetDC(NULL);
COLORREF red = 0xFF0000;
for(int i = mCellStartingPoint.x; i < mXoffset; i++)
{
SetPixel(dc, mCellStartingPoint.x + i, mCellStartingPoint + yoff, red);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,在.cpp文件中实现DrawRowOfPixels()方法时,我会在Cell类的所有成员变量中获得错误.(即mCellStartingpoint,mXoffset和mYoffset)
错误C2228:'.x'的左边必须有class/struct/union
错误C2597:非法引用非静态成员'Cell :: mXoffset'
错误C3867:'Cell :: mXoffset':函数调用缺少参数列表; 使用'&Cell :: mXoffset'创建指向成员的指针
错误:非静态成员引用必须与特定对象相关
我知道我可能正在做一些非常愚蠢的事情,但是这里发生了什么?为什么我不能像我应该能够在我的静态成员函数中使用我的私有成员变量?
纯粹是为了好玩,我决定写一个简单的算法,找到2和x之间的所有素数,其中x是你想要的.我用a clock_t来计算算法完成变化x值需要多长时间.(我去x = 0,然后是25000,然后是50000,然后是75000,......,最多1,000,000).例如,当x = 25000时,我进入for循环,i从2到25000,并且对于每个值i,我通过将它除以两个和它自身之间的每个数字来检查它是否是素数,寻找剩余的0.
这是算法:
vector<int> calcPrimesWithoutPrechecking(int upperLimit)
{
vector<int> res;
for(int i = 2; i <= upperLimit; i++)
{
int currentNum = i;
bool foundDivisible = false;
for(int j = 2; j < currentNum; j++)
{
if(currentNum % j == 0)
{
foundDivisible = true;
break;
}
}
if(!foundDivisible)
{
res.push_back(i);
}
}
return res;
}
Run Code Online (Sandbox Code Playgroud)
我想我可以通过检查我们当前正在测试的数字的最后一位数来加快速度.如果该数字是0,2,4,5,6或8,那么我甚至不必检查它是否是素数,因为我知道它不是(当然2,3和5都是,所以那些被处理在一开始的时候).我打电话给这个预先检查.这是预先检查的算法:
vector<int> calcPrimesWithPrechecking(int upperLimit)
{
vector<int> res;
res.push_back(2);res.push_back(3);res.push_back(5);
for(int i = 6; i <= …Run Code Online (Sandbox Code Playgroud)