inline return-type function-name(parameters) { // function code } 另外需要注意的是,inline在某些情况下是失效的: 如果一个函数包含一个循环(for,while,do-while) 如果函数包含静态变量。 如果函数是递归的。 如果函数返回类型不是 void,并且返回语句不存在于函数体中。 如果函数包含 switch 或 goto 语句。
inline return-type function-name(parameters) { // function code } 此外,inline函数通常放在头文件中,因为大多数build environments在编译期进行inlining,编译器必须知道函数什么样子才能把函数调用替换成函数本体。 大多数virtual函数不能inlining:因为virtual直到运行时才知道调用哪个函数,而inline是在执行前进行替换。
classS{public:inlineintsquare(ints)// redundant use of inline{// this function is automatically inline// function body}}; 上述风格被认为是一种糟糕的编程风格。 最好的编程风格是在类中编写函数原型,并在函数定义中将其指定为内联。 classS{public:intsquare(ints);// declare the function};inlineint...
inlinereturn-typefunction-name(parameters){// function code} 另外需要注意的是,inline在某些情况下是...