C ++ std :: string平台是独立的吗?

时间:2015-06-08 10:01:30

标签: c++

我想知道C ++的std :: string是否与平台无关,这意味着它可用于所有编译器实现。

背景是我正在使用一些非常古老的遗留代码,它们没有使用任何std :: string(std :: something)的东西,这使得它很难处理。它在Windows和Unix系统上编译,包括更为奇特的平台,如AIX,zLinux,Solaris和HPUX。

如果我可以使用std库,它会让生活变得更轻松,但我不知道它是否适用于所有这些平台。有这样的经历吗?

2 个答案:

答案 0 :(得分:2)

std::string是标准库的一部分,应该可以在任何符合要求的实现中使用。

答案 1 :(得分:2)

data.cov.cat <- data.frame(V1 = runif(10,0,10), V12 = c("blue", "red", "yellow", "pink","blue", "red", "yellow", "pink", "red", "yellow")) data.cov.cat <- sapply(data.cov.cat, as.factor) pum <- data.frame(Var1 = runif(10,0,1), Var2 = c(1,3,2,0,2,1,2,0,1,3)) data.cov.cat$PU <- sqldf("SELECT CASE WHEN Var1 >= 0.053 THEN 'Present' WHEN Var1 < 0.053 OR Var2 IN (1,2,3) THEN 'Present' WHEN Var1 < 0.053 OR Var2 = 0 THEN 'Not present' ELSE 'NA' END as newCol FROM pum")$newCol C++ standard(cfr。 [string.classes] )的一部分,因此每个C ++标准符合实现都可以使用它。

请注意,某些内容可能已从主要的C ++版本更改为另一个版本,例如std::string::front(自C ++ 11以来)。如果您希望您的代码库可移植且一致,则应牢记这一点,并检查最高可用性(无论出于何种原因,稳定性,策略,向后兼容性等)。您可以定位的C ++版本。