C++ 静态强制转换需要执行时间吗?

C++ 静态强制转换需要执行时间吗?,c++,C++,我知道动态_cast确实需要执行时间,甚至被认为是很慢的,但是静态_cast也需要执行时间吗?下面是一个示例代码 void printv(const void *str) { std::cout << *static_cast<const std::string*>(str) << "\n"; } void prints(const std::string *str) { std::cout << *str << "\

我知道动态_cast确实需要执行时间,甚至被认为是很慢的,但是静态_cast也需要执行时间吗?下面是一个示例代码

void printv(const void *str) {
    std::cout << *static_cast<const std::string*>(str) << "\n";
}

void prints(const std::string *str) {
    std::cout << *str << "\n";
}

int main()
{
    std::string str("my string");

    printv(&str);
    prints(&str);

    system("pause");
    return 0;
}
printv会比prints花费更长的时间吗,因为它内部包含强制转换?

静态强制转换在运行时可能需要时间。例如,如果将int转换为float,则需要进行工作。通常,强制转换指针不需要任何运行时成本。

静态强制转换可能需要运行时时间。例如,如果将int转换为float,则需要进行工作。通常,强制转换指针不需要任何运行时成本。

这可能更适合视为副本这可能更适合视为副本