问题标签 [lexical-cast]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
396 浏览

c++ - 有没有办法使用 SFINAE 来确定对模板化函数的调用是否会由于提供的类型而失败?

我有一个模板类,我使用它来提供一个方法,该方法将用于boost::lexical_cast将其std::string参数转换为模板中指定的类型,前提是可以进行词法转换。目前要检查是否有可能,我只是检查是否operator>>为所讨论的类型定义了。这是一个人为的例子,基本上说明了我在做什么:

到目前为止,这适用于我的代码:所有无法通过词法转换的类型都以第一个版本结束,所有其他类型以第二个版本结束,至少对于我的代码使用它的类型。我担心的是,我基本上是在假设只要目标类型是 InputStreamable ,那么 lexical_cast 就不会失败。lexical_cast的boost 文档概述了一些其他要求,我可能也应该检查这些要求,而不是创建一个复杂的enable-if并用来mpl::and_将这些条件串在一起,我想知道:有没有办法使用 SFINAE 直接测试对于给定的类型,该调用是否lexical_cast会失败,并且仅当它不会失败时才匹配专用模板?

我只见过测试函数或运算符是否存在的示例,但从未测试过调用具有给定类型的模板化函数是否会产生错误。

0 投票
1 回答
617 浏览

c++ - 在命名空间中使用 boost::lexical_cast 和自定义 operator<<

给定两个命名空间,每个命名空间都为 std::vector 提供 operator<< 的特化,是否可以使用 boost::lexical_cast?我知道如果我将其中一个运算符提升到全局命名空间中,代码将起作用,但这只会在其他位置导致歧义错误。我可以使用“using”指令来允许 boost::lexical_cast 找到正确的运算符吗?

编辑:到目前为止,我想出的最好的方法是将运算符拉入 .cpp 中的 std 命名空间。这适用于 .cpp 只需要一个版本,但不适用于 .cpp 需要多个版本的一般情况。

0 投票
4 回答
11130 浏览

c++ - 字符串流到向量

我想知道从 a 写入std::stringstreama的最佳方法是什么vector<int>

下面是一个例子stringstream"31 #00 532 53 803 33 534 23 37"

这是我所拥有的:

然而似乎发生的是,它读取第一件事,然后它到达#00并返回0,因为它不是一个数字。

理想情况下,我想要的是,它到达 a#然后跳过所有字符,直到下一个空格。这可以用标志或其他东西吗?

谢谢。

0 投票
1 回答
913 浏览

c++ - boost::lexical_cast 编译时带有警告

编译如下:

产生于此:

为什么?如何避免这个警告?

0 投票
1 回答
10039 浏览

c++ - C++ 使用带有 boost::lexical_cast 的类

我想将我的测试类与boost::lexical_cast. 我已经重载operator<<operator>>但它给了我运行时错误。
这是我的代码:

输出:

顺便说一句,我正在使用 Visual Studio 2010 但我已经尝试过使用 g++ 的 Fedora 16 并得到了相同的结果!

0 投票
1 回答
375 浏览

c++ - boost::lexical_cast 没有运行时库

我的情况是我想使用 boost::lexical_cast,但不能使用 C/C++ 运行时库,因此不能使用 lexical_cast。我不太了解 Boost,但我见过以下块的使用:

并且想知道是否可以使用#define 以使Boost 不依赖于所述库。

如果 Boost 文档中有特定位置解释了可能的预处理器选项,那也将不胜感激,因为我似乎无法在网上找到它。

0 投票
2 回答
230 浏览

c++ - 执行身份提升::lexical_cast 有什么开销?

给定一个函数,例如:

function1如果传递给的类型已经是 a会产生什么样的开销std::string

开销是否因我要使用的类型而异lexical_cast

做一个重载的函数来绕过演员表是多余的吗?例如:

boost 的版本可能与您的答案有关,据我所知,它lexical_cast已在修订版中进行了一些优化。

0 投票
1 回答
151 浏览

boost - boost::lexical_cast 带正号

转换为 std::string 时,如何使 boost::lexical_cast 包含正号?

我打算做同样的事情:snprintf( someArray, someSize, "My string which needs sign %+d", someDigit );。在这里,如果 someDigit 为正数,则 someDigit 将作为 +someDigit 放入字符串中,如果它为负数,则将其作为 -someDigit 放入字符串中。见:http ://www.cplusplus.com/reference/clibrary/cstdio/snprintf/

0 投票
1 回答
891 浏览

c++ - 使用 boost::lexical_cast(细绳)

我是初学者,需要解释为什么这不起作用:

myArray[9] 不为零,但结果双精度始终为零。任何帮助将不胜感激。谢谢你。

0 投票
4 回答
1112 浏览

c++ - 词法转换 C++

我们如何编写一个包装词法转换函数来实现如下行:

我对编程很陌生,想知道我们如何编写函数。我不知道如何找出模板。我们也可以为 double 编写一个包装函数吗?像

??