- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有问题 void *
我想把包含的内容放在一个字符串中输出它,我知道在编译时编译器不知道指针指向什么所以我想使用一种类型的转换(将 *(void*)
转换为字符串)static_cast:
std::string get_Info_Field (std::string nameTab,int IDF)
{ ostringstream os;
iter=Inst_Data.find(nameTab);
if(iter!= Inst_Data.end())
{ iterF=(iter->second).find(IDF);
if(iterF!=(iter->second).end())
{os<<*static_cast<std::string*>(iterF->second.value);}
else { os<<""; }
}
else { os<<"";}
return os.str();
};
这里的iterF->second.value
是一个void*
,我想得到它的值可以指向任何类型(int,string,float,long, char..),我的问题是:那安全吗?无论类型如何,都会返回指针的正确值?我用 int
测试了它的工作原理,但我不确定其余部分。
如有任何帮助,我们将不胜感激。
最佳答案
如果您知道 void*
恰好指向 std::string
那么是的,它是安全的。
关于c++ - 类型转换 void* 并将其放入 ostringstream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10346999/
我需要将数据从一些 std::ostringstream 写入另一个 std::ostringstream。当然,我可以使用str()函数 std::ostringstream in; std::os
任何人都可以建议一种方法来拥有一个null std::ostringstream这避免了对传递给它的参数做任何工作 ::not_eof(c); } }; // ... nullbuf
不使用科学计数法将double转换为string,建议的方法是 std::ostringstream strStream; strStream << std::fixed; strStream <<
ostringstream ss; ss #include #include #include #include class stackbuf : public std::strea
在我的 C++ 项目中,我试图这样做: std::ostringstream stream(std::ostringstream::out); 但是我得到一个错误: error C2027: use
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicates: Why copying stringstream is not allowed? how copy fro
我有一个奇怪的问题,即使我向它插入输出,ostringstream 还是空的。这是我的代码: //logger.h #include #include #include using std::s
所以我在夏天写了一个 ArrayList 的实现,我有一个 toString 方法,在该方法中我使用 ostringstream 对象来添加字符串,然后输出它们。 方法如下: template std
我的代码有一些问题,因为它输出了两个不同的结果。 代码: void output(int x){ for( int i = 0; i s(result.c_str(), result.c_str()
我有以下代码: int n=2; ostringstream convert; // stream used for the conversion convert (std::ostringstr
我的程序在创建 ostringstream 类的对象时总是崩溃。我无法理解导致它崩溃的原因? 程序: #include #include #include DDF foo::send(const
我试图想出一种聪明的方法来将各种东西连接到一个函数的单个字符串参数中,而不必显式使用 ostringstream。我想到了: #define OSS(...) \ dynamic_cast(std
最近我在使用 C++ 代码时遇到了一个非常奇怪的问题。我在极简主义的例子中重现了这个案例。我们有一个 Egg 类: class Egg { private: const char* name;
在 C++ 中(在带有 gcc 的 Linux 上)我想将字节数组 ( vector ) 放入 ostringstream 中或 string . 我知道我可以使用 sprintf但它似乎不是使用 c
我一直在处理其他人的代码,并注意到在 ostringsteam 的所有使用中,他们习惯于显式附加 std::ends。 这是我从来没有做过的事情,也从来没有遇到过问题。 它似乎没有,但是 std::e
我使用 std::ostringstream用于格式化字符串,它继承了它的 string {ostringstream stream; stream string {
在 MSVC 2005 上,我有以下代码。 std::ostringstream stream("initial string "); stream << 5; std::cout << stream
我正在尝试 this answer 中提供的优雅解决方案但无论我尝试什么,我都无法通过此行的错误 Implicit instantiation of undefined template: std::
我想清除并重用一个 ostringstream(和底层缓冲区),这样我的应用就不必进行那么多分配。如何将对象重置为其初始状态? 最佳答案 我过去使用过 clear 和 str 的序列: // clea
在以下情况下获得不同的输出 std::string temp, temp1 = "foo", temp2 = "bar"; std::vector test; std::ostring
我是一名优秀的程序员,十分优秀!