PDA

View Full Version : مفهوم const در صدا زدن تابع ++C



houshmand
جمعه 15 دی 1391, 12:29 عصر
سلام
من در کتاب Foundations of Qt Development کدی مثل زیر دیدم
می خواستم بدونم مفهوم این خط چی هست؟

const string& text() const;
مفهوم دو بار استفاده از const و & چیست؟



#include <string>
using std::string;
class MyClass
{
public:
MyClass( const string& text );
const string& text() const;
void setText( const string& text );
int getLengthOfText() const;
private:
string m_text;
};

lexical_error
جمعه 15 دی 1391, 13:01 عصر
سلام
عبارت const که مقابل دوپرانتز نوشته شده مربوط به ثابت بودن تابع عضو هست ، به این معنی که این تابع هیچیک از متغییرهای عضو را تغییر نمیدهد،معمولا توابعی که برای دسترسی(بازگرداندن مقدار متغییر) به متغییرهای عضو هستند رو const اعلان میکنند.
علامت & مشخص کننده مرجع میباشد،و استفاده از اون قبل از اسم تابع به این معنی هست مقدار برگشتی تابع از نوع مرجع هست.
همچنین عبارت const که قبل از نوع مرجع قرار گرفته مشخص کننده این هست که هدفی که مرجع به اون اشاره میکنه ثابت است و قابل تغییر نیست.