inline函数的定义位置问题?

#include<iostream>
#include<string>
using namespace std;
int main()
{
inline bool isshorter(const string &s1, const string &s2);
string s1, s2;
cin >> s1 >> s2;
if (isshorter(s1, s2))
cout << s1;
else
cout << s2;
system("pause");
return 0;
}
inline bool isshorter(const string &s1, const string &s2) //函数定义放在下面报错 
{ //放在int main上面就没问题 
return s1.size() < s2.size();
}

慕雪6442864
浏览 732回答 2
2回答

狐的传说

inline应该放在函数的声明处,这样应用该函数的地方才能把函数内联。C++是在C语言的基础上开发的一种面向对象编程语言,应用广泛。C++支持多种编程范式 --面向对象编程、泛型编程和过程化编程。最新正式标准C++于2014年8月18日公布。[1] 其编程领域众广,常用于系统开发,引擎开发等应用领域,是至今为止最受广大程序员受用的最强大编程语言之一,支持类:类、封装、重载等特性!

SMILET

inline关键字是标识该函数或方法在编译时自动包含在该调用的函数或方法中,减少函数或方法调用的时间,是为了节省时间,但是如果inline标识的函数或方法里又复杂的语句,劝一句,不要用inline关键字来标识该函数或方法,所以inline 关键字用在要调用的函数里,不是要调用的函数体或方法的前面。
打开App,查看更多内容
随时随地看视频慕课网APP