由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 问个c++问题
相关主题
c++ 中如何把str转换为float?c++ pointer conversion question
two general C++ question问个指针array 的简单问题
C code参数传递出错可能的原因一个读用户输入的小问题
A helloworld OpenMP question?[合集] in visual studio, how to pass arguments into the progra
问个简单的c程序C的argc问题
a C++ interview question..........tree data conversion
question on divide by zero请教一道题 (转载)
大家帮我看看这个C程序为什么出错了求助 怎么编辑 多个 .c files(比如a.c, b.c) 和一个.h file(ab (转载)
相关话题的讨论汇总
话题: c++话题: arguments话题: 参数话题: different话题: type
进入Programming版参与讨论
1 (共1页)
j*****k
发帖数: 1198
1
c++里怎么实现variable length arguments with type check?
These arguments can be different types and in different order.
Thanks.
x****u
发帖数: 44466
2
你这个type check的规则是什么?

【在 j*****k 的大作中提到】
: c++里怎么实现variable length arguments with type check?
: These arguments can be different types and in different order.
: Thanks.

j*****k
发帖数: 1198
3
就是说如果一个参数要的是float, 在函数里得保证它是float才行。
参数的顺序必须是可变的。

【在 x****u 的大作中提到】
: 你这个type check的规则是什么?
X****r
发帖数: 3557
4
Generally, impossible.
Possible if limitations are posed, or alternative forms are allowed.

【在 j*****k 的大作中提到】
: c++里怎么实现variable length arguments with type check?
: These arguments can be different types and in different order.
: Thanks.

x****u
发帖数: 44466
5
参数可变就是说不知道参数个数和类型,你什么场合出现float呢?

【在 j*****k 的大作中提到】
: 就是说如果一个参数要的是float, 在函数里得保证它是float才行。
: 参数的顺序必须是可变的。

E*V
发帖数: 17544
6
一般不是类似
main(argc, **argv)这样的都作为string
或者c测
func(int a ...)
这样的必须类型一样
当然还有
printf("%s", ...)
这样的

【在 x****u 的大作中提到】
: 参数可变就是说不知道参数个数和类型,你什么场合出现float呢?
x****u
发帖数: 44466
7
这个在C++里面搞个对象容器的引用不就行了吗?

【在 E*V 的大作中提到】
: 一般不是类似
: main(argc, **argv)这样的都作为string
: 或者c测
: func(int a ...)
: 这样的必须类型一样
: 当然还有
: printf("%s", ...)
: 这样的

E*V
发帖数: 17544
8
那就C#
main(CString^ arg)

【在 x****u 的大作中提到】
: 这个在C++里面搞个对象容器的引用不就行了吗?
x****u
发帖数: 44466
9
现在可以managed C++了。。。

【在 E*V 的大作中提到】
: 那就C#
: main(CString^ arg)

j*****k
发帖数: 1198
10
在调用函数的时候,会给可变长度,可变顺序,和类型的参数。
在这一堆参数里,我会找所需要的参数,而且查看
该参数是不是我所需要的类型。
看了一下stdarg, 不满足我的要求,好象可以用boost来作。我想知道
能不能只用c++ 加上stl来作。

【在 x****u 的大作中提到】
: 参数可变就是说不知道参数个数和类型,你什么场合出现float呢?
相关主题
a C++ interview question..........c++ pointer conversion question
question on divide by zero问个指针array 的简单问题
大家帮我看看这个C程序为什么出错了一个读用户输入的小问题
进入Programming版参与讨论
x****u
发帖数: 44466
11
你参考一下COM的variant类型。

【在 j*****k 的大作中提到】
: 在调用函数的时候,会给可变长度,可变顺序,和类型的参数。
: 在这一堆参数里,我会找所需要的参数,而且查看
: 该参数是不是我所需要的类型。
: 看了一下stdarg, 不满足我的要求,好象可以用boost来作。我想知道
: 能不能只用c++ 加上stl来作。

t****t
发帖数: 6806
12
你这个要求不明确. 一个参数要的是float, 你怎么提出这个要求呢?
比如说printf family, 是printf("%f", x), 那么x应该是一个double, 这个"x是
double"的要求是作为第一个参数提出来的.
所谓type check, 是指在编译时就有这样的保证. 刚才我举的例子就没有这样的保证,
而且用第一个参数作出的要求也不可能在编译时就得到这样的保证.

【在 j*****k 的大作中提到】
: 就是说如果一个参数要的是float, 在函数里得保证它是float才行。
: 参数的顺序必须是可变的。

P********e
发帖数: 2610
13
google Functions with Variable Argument Lists
用va_list,肯定可以

【在 j*****k 的大作中提到】
: 在调用函数的时候,会给可变长度,可变顺序,和类型的参数。
: 在这一堆参数里,我会找所需要的参数,而且查看
: 该参数是不是我所需要的类型。
: 看了一下stdarg, 不满足我的要求,好象可以用boost来作。我想知道
: 能不能只用c++ 加上stl来作。

l******e
发帖数: 12192
14
简单点就用boost::any吧

【在 j*****k 的大作中提到】
: c++里怎么实现variable length arguments with type check?
: These arguments can be different types and in different order.
: Thanks.

j*****k
发帖数: 1198
15
不想用any, 嗯。
我想试试wrapper + map

【在 l******e 的大作中提到】
: 简单点就用boost::any吧
j*****k
发帖数: 1198
16
不满足我的要求。

【在 P********e 的大作中提到】
: google Functions with Variable Argument Lists
: 用va_list,肯定可以

P********e
发帖数: 2610
17
那点?
type check?

【在 j*****k 的大作中提到】
: 不满足我的要求。
1 (共1页)
进入Programming版参与讨论
相关主题
求助 怎么编辑 多个 .c files(比如a.c, b.c) 和一个.h file(ab (转载)问个简单的c程序
10个包子请教一个简单的编程问题a C++ interview question..........
c++ floating point calculation problem (revised)question on divide by zero
计算组合数C(m,n)大家帮我看看这个C程序为什么出错了
c++ 中如何把str转换为float?c++ pointer conversion question
two general C++ question问个指针array 的简单问题
C code参数传递出错可能的原因一个读用户输入的小问题
A helloworld OpenMP question?[合集] in visual studio, how to pass arguments into the progra
相关话题的讨论汇总
话题: c++话题: arguments话题: 参数话题: different话题: type