C++在类中所有的成员函数外定义变量,在成员函数内再次定义变量时,变量会受到怎样的影响?如:namespace obs { phyExercise::phyExercise():m_readiness(0),m_ndirection(0),m_npole_position(100000),count_number_(0.0000000f),start(0.0f),count(0){ } phyExercise::~phyExercise() { } clock_t start; clock_t end; void phyExercise::front_count(const obs_joint_t pt1, const obs_joint_t pt2, const int chin) { int diff = m_npole_position- chin; static clock_t start;}
时间: 2024-03-29 19:34:42 浏览: 63
在成员函数内再次定义变量时,会隐藏类中所有成员函数外定义的同名变量,即成员函数内的变量会覆盖类中的同名变量。在你的代码中,成员函数front_count中的start变量会隐藏类中定义的同名变量,也就是说,front_count函数中的start只在函数内有效,不会影响到类中其他地方对start的使用。同时,成员函数内定义的变量会在执行完该函数后自动销毁,不会占用额外的空间。
阅读全文