gpt4 book ai didi

c++ - C 数组的大小作为函数?

转载 作者:太空狗 更新时间:2023-10-29 19:41:00 25 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
How does this “size of array” template function work?

是否有可能在 C++ (C++0x) 中不使用宏来实现 NARR

const static pair<string,int> data[] = {
{"Montag",1}, {"Dienstag",2}, {"Mittwoch",3}, {"Donnerstag",4},
{"Freitag",5}, {"Samstag",6}, {"Sonntag",7}
};
#define NARR(A) (sizeof(A)/sizeof(*A))
const static map<string,int> german_weekdays(data, data+NARR(data));

一个简单的函数是不可能的,因为 [] 失去了它的大小信息,变成了另一个指针:

size_t narr(sometype arr[]) { /* won't work */ }

模板?重载?魔法?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com