jjzjj

Literals

全部标签

c++ - chrono_literals 不是命名空间名称

我正在尝试构建一个名为darkstar的程序,这是一个私有(private)FFXI服务器。我正在尝试在FreeBSD10.2稳定版上构建它。我正在使用端口中的GCC5.3来尝试构建它。使用makeCC=gcc5CXX=g++5CPP="gcc5-E"调用正确版本的GCC/G++。这是我被踢出的错误代码。src/common/../common/../common/cbasetypes.h:336:22:error:'chrono_literals'isnotanamespace-nameusingnamespacestd::chrono_literals;^src/common/..

c++ - 字符串文字的最大长度?

我正在尝试创建一个长字符串文字,我将其存储在std::string中。如果我创建一个最多约2600个字符的文字,则一切都可以正常打印。如果超过这个数量的符号,我只会打印一些随机的垃圾字符。我一直使用C标准作为指导,环境限制指定为“字符串文字中的4095个字符(连接后)”。但代码是用C++编写的。所以我的问题是,C++字符串文字中的最少字符数是多少?(问题可能出在代码的其他地方,但我想确保我没有超过标准设置的限制。文本是在RichEdit控件中打印的,所以我怀疑是罪魁祸首.) 最佳答案 最小值在中指定附件B实现数量[限制]Charac

c++ - LL 是什么意思?

LL是否在标准中的任何地方定义(很难找到)?ideone接受代码intmain(){std::cout并打印84但这是什么意思呢? 最佳答案 它在C++11标准的第2.14.2段中指定:2.14.2整数文字[...]long-long-suffix:oneofllLL第2.14.2/2段,特别是表6,继续指定十进制、八进制和十六进制常量后缀的含义,以及它们的类型。因为0是一个八进制字面量,所以0LL的类型是longlongint:#includeintmain(){//Won'tfirestatic_assert(std::is_s

ArkTS编译时遇到arkts-no-obj-literals-as-types错误【Bug已解决-鸿蒙】

文章目录项目场景:问题描述原因分析:解决方案:解决方案1解决方案2此Bug解决方案总结项目场景:在开发鸿蒙项目过程中,遇到了arkts-no-obj-literals-as-types,总结了自己和网上人的解决方案,故写下这篇文章。遇到问题:rkTS编译时遇到arkts-no-obj-literals-as-types错误如下图应该如何解决?问题描述在开发鸿蒙项目过程中,遇到了arkts-no-obj-literals-as-types,总结了自己和网上人的解决方案,故写下这篇文章。遇到问题:rkTS编译时遇到arkts-no-obj-literals-as-types错误

c++ - 莱克斯/柔性 :Regular expression for string literals in C/C++?

我看这里ANSICgrammar.本页包含大量用于ANSIC的Lex/Flex正则表达式。在理解字符串文字的正则表达式时遇到问题。他们提到正则表达式为\"(\\.|[^\\"])*\"据我所知,\"用于双引号,\\用于转义字符,.用于任何字符,除了escapecharacter和*为零次或多次。[^\\"]表示除\、"之外的字符。所以,在我看来,正则表达式应该是\"(\\.)*\"。你能给出一些上面的正则表达式会失败的字符串吗?或为什么他们使用了[^\\"]? 最佳答案 正则表达式\"(\\.)*\"您建议的匹配字符串由\组成符号与

c++ - 如何从函数返回字符串文字

我总是对从函数返回字符串文字或字符串感到困惑。我被告知可能存在内存泄漏,因为您不知道内存何时会被删除?例如,在下面的代码中,如何实现foo()才能使代码的输出为“HelloWorld”?voidfoo()//youcanaddparametershere.{}intmain(){char*c;foo();printf("%s",c);return0;}还有,如果foo()的返回类型不是void,但是可以返回char*,应该是什么? 最佳答案 我假设我们不能修改main.为了使您的程序无泄漏地运行,您需要一些具有静态存储的东西:voi

c++ - 尝试将字符串文字作为模板参数传递

这个问题在这里已经有了答案:Passingastringliteralasatypeargumenttoaclasstemplate(16个答案)关闭5年前。我正在尝试找到一种舒适的方式来将字符串文字作为模板参数传递。我不关心支持尽可能多的编译器,我使用的是带有--std=c++0x的最新版本的g++。我尝试了很多可能的解决方案,但都让我失望。我有点想放弃了,但首先我想知道为什么其中有几个失败了。他们在这里:#include#includeusingnamespacestd;structString{charconst*m_sz;constexprString(charconst*a_

c++ - C++11/C++14 中的文字类型类

intx=1;//NotConstantclassA{public:intvalue=x;intvalue2{x};A(inta):value(x),value2(x){}A(inta,intb):value{x},value2{x}{}constexprA():value{0},value2{0}{}};constexprintfunction(Aobj1,Aobj2,Aobj3,Aobj4,Aobj5,Aobj6,Aobj7){return1;}intmain(){inty=2;//NotConstantAobj1(y);Aobj2{y};Aobj3=y;Aobj4={y};Aob

c++ - C++ 是否允许将任何整数文字隐式转换为 short int?

intmain(){shortn1=8ll;//nowarning//warningC4305:'initializing':truncationfrom'__int64'to'short'//warningC4309:'initializing':truncationofconstantvalueshortn2=88888ll;}我的编译器是VisualStudio2017。根据cppref:Thetypeoftheintegerliteralisthefirsttypeinwhichthevaluecanfit,fromthelistoftypeswhichdependsonwhi

mysql - 升级到 Rails 4.2.0 : string literals in where conditions wrapped into quotation marks

在我的应用程序中将rails版本从4.1.8升级到4.2.0期间,我遇到了以下问题。where条件中的字符串文字现在额外包含在引号中,这然后成为查询字符串的一部分,不再提供有效结果。这仅发生在text类型的数据库字段中(varchar字段不受影响)。我正在使用MySQL数据库。>Table.where(column:'data')[08:19:20.822552]TableLoad(0.3ms)SELECT`table`.*FROM`table`WHERE`table`.`column`='\"data\"'现在,如果您有一行在列行中包含data值,则此条件将不再匹配(显然,“data