草庐IT

Long-Term

全部标签

c++ - C++ 中的 long long int 与 long int 与 int64_t

我在使用C++类型特征时遇到了一些奇怪的行为,并将我的问题缩小到这个古怪的小问题,因为我不想留下任何误解。假设你有一个这样的程序:#include#includetemplateboolis_int64(){returnfalse;}templateboolis_int64(){returntrue;}intmain(){std::cout()()()()在使用GCC进行32位编译(以及使用32位和64位MSVC)时,程序的输出将是:int:0int64_t:1longint:0longlongint:1但是,由64位GCC编译产生的程序将输出:int:0int64_t:1longin

c++ - C/C++ 中的 long long

我正在GNU的C++编译器上尝试此代码,但无法理解其行为:#include;intmain(){intnum1=1000000000;longnum2=1000000000;longlongnum3;//num3=100000000000;longlongnum4=~0;printf("%u%u%u",sizeof(num1),sizeof(num2),sizeof(num3));printf("%d%ld%lld%llu",num1,num2,num3,num4);return0;}当我取消注释注释行时,代码无法编译并给出错误:error:integerconstantistoola

php - Laravel 迁移 : unique key is too long, 即使指定

我正在尝试在Laravel中迁移用户表。当我运行迁移时,出现此错误:[Illuminate\Database\QueryException]SQLSTATE[42000]:Syntaxerrororaccessviolation:1071Specifiedkeywastoolong;maxkeylengthis767bytes(SQL:altertableusersadduniqueusers_email_uniq(email))我的迁移如下:Schema::create('users',function(Blueprint$table){$table->increments('id'

php - 最佳实践 : working with long, PHP 中的多行字符串?

注意:如果这是一个非常简单的问题,我很抱歉,但我对我的代码格式有点强制症。我有一个类,它有一个函数,它返回一个字符串,该字符串将构成电子邮件的正文。我希望此文本格式化,使其在电子邮件中看起来正确,但也不会使我的代码看起来很时髦。这就是我的意思:classSomething{publicfunctiongetEmailText($vars){$text='Hello'.$vars->name.",Thesecondlinestartstwolinesbelow.Ialsodon'twantanyspacesbeforethenewline,soit'sbuttedupagainstthe

C++ : why bool is 8 bits long?

在C++中,我想知道为什么bool类型是8位长(在我的系统上),而只有一位就足以容纳boolean值?我以前认为这是出于性能原因,但是在32位或64位机器上,寄存器为32或64位宽,性能优势是什么?或者这只是这些“历史”原因之一? 最佳答案 因为每个C++数据类型都必须是可寻址的。如何创建指向单个位的指针?你不能。但是您可以创建一个指向字节的指针。所以C++中的boolean值通常是字节大小的。(它也可能更大。这取决于实现。主要是它必须是可寻址的,因此任何C++数据类型都不能小于一个字节)

c++ - 在 64 位 Windows 上 long 的位大小是多少?

不久前,有人告诉我long在64位机器上不是64位,我应该始终使用int。这对我来说没有意义。我看过文档(例如Apple官方网站上的文档)说在为64位CPU编译时,long确实是64位。我在64位Windows上查找了它,发现Windows:longandintremain32-bitinlength,andspecialnewdatatypesaredefinedfor64-bitintegers.(来自http://www.intel.com/cd/ids/developer/asmo-na/eng/197664.htm?page=2)我应该使用什么?如果不在Windows上,我是

c++ - C++ 中的 "long"、 "long long"、 "long int"和 "long long int"有什么区别?

我正在从Java过渡到C++,并且对long数据类型有一些疑问。在Java中,要保存大于232的整数,您只需编写longx;。但是,在C++中,long似乎既是数据类型又是修饰符。long似乎有几种使用方式:longx;longlongx;longintx;longlongintx;另外,好像有这样的东西:longdoublex;等等。所有这些不同的数据类型有什么区别,它们的目的是否相同? 最佳答案 long和longint是相同的。longlong也是如此和longlongint.在这两种情况下,int是可选的。至于这两个集合之间

unit-testing - 每晚构建与持续集成 : Long-Running Automated Tests

我们有一个大型自动化集成测试套件的“问题”。虽然我们的构建时间是合理的(虽然在我们的构建运行中测试这么大的功能block很棒,但这显然是实现CI的障碍,我发现这对于将源代码树保持在“始终可构建”状态非常有帮助。我查看过thisone等讨论主题,其中详细说明了区别。这引出了几个问题:CI是否规定或推荐单元与集成测试自动化?我过去曾听说过Unit-only,但在快速搜索中没有找到任何此类陈述(或理由)。对于组合构建+自动化测试时间/比率来为团队提供有效CI的“最佳实践”是什么?我的直觉告诉我,最坏的情况应该是从长期运行的夜间构建+集成测试到CI的最佳前进方式是什么?我正在考虑一个仅包含一些

short-url - 谷歌 URL 缩短 API : Converting a long URL to short

我想将长URL转换为短URL。我已按照文档进行操作,但无法转换URL。这会导致403响应。我遵循以下方法。JSONObjectreqObj=newJSONObject();reqObj.put("longUrl",LONG_URL_TO_CONVERT);reqObj.put("key",API_KEY);URLurl=newURL("https://www.googleapis.com/urlshortener/v1/url");HttpURLConnectionconn=(HttpURLConnection)url.openConnection();conn.setRequestP

java - 如何在 Java 中将 long 转换为 int?

如何在Java中将long转换为int? 最佳答案 在Java8中更新:Math.toIntExact(value);原答案:简单的类型转换应该做到这一点:longl=100000;inti=(int)l;但是请注意,较大的数字(通常大于2147483647且小于-2147483648)会丢失一些位并且会被错误地表示。例如,2147483648将表示为-2147483648。 关于java-如何在Java中将long转换为int?,我们在StackOverflow上找到一个类似的问题: