c++ - sizeof 可变参数模板(所有元素的 sizeof 之和)

标签 c++ c++11 tuples sizeof variadic-templates

考虑以下功能:

template<typename... List> 
inline unsigned int myFunction(const List&... list)
{
    return /* SOMETHING */; 
}

除了 /* SOMETHING */ 之外,为了返回所有参数的 sizeof 的总和,最简单的是什么?

例如 myFunction(int, char, double) = 4+1+8 = 13

最佳答案

在 C++17 中,使用折叠表达式:

template<typename... List> 
inline constexpr unsigned int myFunction(const List&... list)
{
    return (0 + ... + sizeof(List));
}

关于c++ - sizeof 可变参数模板(所有元素的 sizeof 之和),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12666761/

相关文章:

c++ - 将枚举值映射到 C++ 中的类型

c++ - std::unordered_map - 使用 Lambda 专门化 KeyEqual

python - 我可以在一个 python 正则表达式查询中使用多个搜索条件来返回一个元组吗?

python - 创建元组的单元素元组

c++ - 如何更改 code::blocks 中的文本颜色和控制台颜色?

c++ - size_t、ptrdiff_t 和 uintmax_t 等类型是否有通用术语?

c++ - 模板函数实现中的条件取决于类型是否为指针

python - 如何将存储为字符串的元组转换回元组再转换为字符串?

c++ - 如何从 C++ 中的系统 PATH 获取文件的绝对路径?

c++ - 继承和重载默认构造函数