Redian新闻
>
c++ template中如何判断类型
avatar
c++ template中如何判断类型# Programming - 葵花宝典
l*e
1
在c++ template编程中如何判断数据的类型?
比如下面的代码,我需要确定DataT的类型,比如int, float等,
然后根据类型相应修改fprintf的参数输出。
谢了先。
template
void
myArray::write( File &file )
{
for ( unsigned i=Array::_base; !file.error()&&(i<_mysize i="">{
fprintf (file, "%d %g\n", i, float (Array::_data[i]) );
}
}
avatar
f*y
2
写specialization

【在 l*****e 的大作中提到】
: 在c++ template编程中如何判断数据的类型?
: 比如下面的代码,我需要确定DataT的类型,比如int, float等,
: 然后根据类型相应修改fprintf的参数输出。
: 谢了先。
: template
: void
: myArray::write( File &file )
: {
: for ( unsigned i=Array::_base; !file.error()&&(i<_mysize i="">: {

avatar
d*d
3
用ofstream不就行了,不用你自己去判断类型。

【在 l*****e 的大作中提到】
: 在c++ template编程中如何判断数据的类型?
: 比如下面的代码,我需要确定DataT的类型,比如int, float等,
: 然后根据类型相应修改fprintf的参数输出。
: 谢了先。
: template
: void
: myArray::write( File &file )
: {
: for ( unsigned i=Array::_base; !file.error()&&(i<_mysize i="">: {

avatar
l*e
4
能说得稍微详细点吗?

【在 f*******y 的大作中提到】
: 写specialization
avatar
l*e
5
是个好建议。
不过就是为了统一风格,程序中没有用到ofstream等作为文件输出。

【在 d*******d 的大作中提到】
: 用ofstream不就行了,不用你自己去判断类型。
avatar
h*o
6
why mix c & c++...

【在 l*****e 的大作中提到】
: 在c++ template编程中如何判断数据的类型?
: 比如下面的代码,我需要确定DataT的类型,比如int, float等,
: 然后根据类型相应修改fprintf的参数输出。
: 谢了先。
: template
: void
: myArray::write( File &file )
: {
: for ( unsigned i=Array::_base; !file.error()&&(i<_mysize i="">: {

avatar
l*e
7
good point, hehe
but i don't know either, since this is from a large toolkit on which my
codes based

【在 h**o 的大作中提到】
: why mix c & c++...
avatar
l*e
8
i guess one reason maybe that:
it's more flexible to control the reading/writing using fprintf/sscanf than
ofstream, especially when working with a bit complex data.

【在 h**o 的大作中提到】
: why mix c & c++...
avatar
t*t
9
真的要用printf的话,你可以先用ostringstream得到string,再用printf输出
不混合printf和ostream倒是对的.
虽然我觉得这样的代码非常傻

than

【在 l*****e 的大作中提到】
: i guess one reason maybe that:
: it's more flexible to control the reading/writing using fprintf/sscanf than
: ofstream, especially when working with a bit complex data.

avatar
s*d
10
C++吸收新东西和发展的速度太慢了,感觉现在做应用不如java,.net, 做系统
不如C。
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。