我有一个项目,我处理大数(ns-timestamps)不适合整数.因此,我想使用例如int64_t,我正在编写测试用例(是的!).
为了检查大数字的行为,我开始使用类似的东西
int64_t val = 2*std::numeric_limits<int>::max();
qDebug() << "long val" << val;
Run Code Online (Sandbox Code Playgroud)
返回
long val -2
Run Code Online (Sandbox Code Playgroud)
(就像我将val定义为int).
但如果我写
int64_t val = std::numeric_limits<int>::max();
val *= 2;
qDebug() << "long val" << val;
Run Code Online (Sandbox Code Playgroud)
我明白了
long val 4294967294
Run Code Online (Sandbox Code Playgroud)
看起来很正确.
所以对我来说,它看起来好像2*max()首先存储在一个整数中(在此步骤中截断),然后复制到int64.为什么会这样?编译器知道结果是类型的,int64因此它2*max()应该直接适合.
在 Android 上使用 Room for sqlite 库时,我注意到虽然数据库第一个版本的表是自动创建的,但我只看到了有关如何通过手动编写迁移的 sql 命令来迁移到新版本的教程 -类。
这看起来真的很奇怪,因为可以自动生成这些迁移(例如像 django 一样),并且令人惊讶的是 V1 的创建命令是自动生成的,但如果我稍后添加表,我必须手动键入命令。
那么我只是错过了它还是我真的必须编写迁移?
我现在,这个问题听起来很愚蠢,但是我无法解决它。最糟糕的例子:
QString time_format = "yyyy-MM-dd HH:mm:ss";
QDateTime a = QDateTime::currentDateTime();
QString as = a.toString(time_format);
qDebug() << as; // print "2014-07-16 17:47:04"
QDateTime b;
b.fromString(as,time_format);
assert(b.isValid()); // fails
Run Code Online (Sandbox Code Playgroud)
我创建一个有效的QDatetime,使用它创建一个字符串(正确),然后尝试再次将其转换为QDatetime(使用相同的time_format-string)。但是突然之间,字符串无法解析。
有任何想法吗?
我正在研究一个QT项目并发现了一个奇怪的行为:
我有一个类似于几个构造函数的类
DB_Variable(QString name, QString newValue):
name(name),value_string(newValue), var_type(DB_STRING){}
DB_Variable(QString name, bool newValue):
name(name), value_bool(newValue), var_type(DB_BOOL){}
Run Code Online (Sandbox Code Playgroud)
我现在想使用第一个构造函数来创建一个这样的对象:
DB_Variable foo("some_name"," ");
Run Code Online (Sandbox Code Playgroud)
我希望将空字符串解释为QString,但调用第二个(bool)构造函数.有人可以告诉我为什么吗?是""指向空字符串的指针,然后某种程度上是bool而不是字符串?
富
我使用django 1.7创建一个postgresql 9.3 db,其中包含几个包含外键约束的表.DB用于仓库,其中对象具有物理位置.如果一个对象(在表Stored_objects中)被删除,我也想删除它的位置,以便我的位置模型如下:
class object_positions(models.Model):
obj_id = models.ForeignKey(Stored_objects, db_column='obj_id',on_delete=models.CASCADE)
(...)
Run Code Online (Sandbox Code Playgroud)
db(在syncdb之后)中的约束看起来像这样:
ALTER TABLE object_positions
ADD CONSTRAINT stored_obj_fkey FOREIGN KEY (obj_id)
REFERENCES "Stored_objects" (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION;
Run Code Online (Sandbox Code Playgroud)
还有什么我需要做的才能在数据库中获得这个约束吗?
我开始在OAuth中使用bitbucket API并使用curl与API进行交互.我的大部分电话都是这样的
curl -X POST -v -H "Authorization: Bearer 1U(...)42eQ==" -H "Content-Type: application/json" https://api.bitbucket.org/2.0/repositories/UserFoo/test_create -d '{"scm": "git", "is_private": "true", "fork_policy": "no_public_forks" }
Run Code Online (Sandbox Code Playgroud)
要么
curl -X POST -v -u "UserFoo:TopSecret" https://api.bitbucket.org/2.0/repositories/UserFoo
Run Code Online (Sandbox Code Playgroud)
当我使用POST和https时,如果我也在第二个命令中发送密码,我认为它是安全的.但我刚开始卷曲,所以如果有经验的人能证实这一点,我会很高兴.