Михаил Ильин ([info]yorool_gui) wrote,
@ 2008-07-03 13:24:00
Previous Entry  Add to memories!  Tell a Friend!  Next Entry
не, ну нельзя же так
bool GetFirst(wxString* filename, const wxString& filespec = wxEmptyString, int flags = wxDIR_DEFAULT) const

Start enumerating all files matching filespec (or all files if it is empty) and flags, return true on success.

bool GetNext(wxString* filename) const

Continue enumerating files which satisfy the criteria specified by the last call to GetFirst.

Нет, ну я конечно понимаю, как эта неонка работает, но все равно бред же



(Post a new comment)


[info]eldog
2008-07-05 05:50 pm UTC (link)
А это как-то работает? Как? Какие-то переменные за пределами класса? Или (я С++ давно толком не трогал, извиняюсь, если глупость скажу) - если есть какой-то член класса, какой-то класс-итератор и у него неконстантные методы - их можно оттуда вызвать? Т.е. константный метод класса может вызывать неконстантные методы его членов?

(Reply to this)(Thread)


[info]yorool_gui
2008-07-05 06:09 pm UTC (link)
Я то думал, что оно просто и тупо вызывает wxFindFirstFile/wxFindNextFile, но увидел сейчас вот такую строчку в документации и тоже понимать перестал:

::wxFindFirstFile
...
Warning
As of wx 2.5.2, these functions are not thread-safe! (they use static variables). You probably want to use wxDir::GetFirst or wxDirTraverser instead.

Сейчас в код гляну, самому интересно стало

(Reply to this)(Parent)


[info]yorool_gui
2008-07-05 06:20 pm UTC (link)
Все проще - вполне же можно вызвать неконстантный метод у указателя, который хранится в классе. И все - в самом классе ничего не изменилось, можно const ставить. Мудаки.

bool wxDir::GetNext(wxString *filename) const
{
return m_data->Read(filename);
}

(Reply to this)(Parent)(Thread)


[info]eldog
2008-07-05 08:44 pm UTC (link)
Ну, собственно, это я и имел в виду - указатель на что-то в классе и вызвать его неконстантный метод. Да, такое, конечно, должно быть можно. Но тогда называть метод const как-то... неправильно, хотя, возможно, имеет некие мизерные плюсы с точки зрения эффективности (что-то там компилятор делает с константными методами?)

(Reply to this)(Parent)(Thread)


[info]yorool_gui
2008-07-05 09:30 pm UTC (link)
Сомневаюсь я, что компилятор как-то обращает внимание не const, помимо синтаксического контроля.

(Reply to this)(Parent)


Create an Account
Forgot your login?
Login w/ OpenID
English • Español • Deutsch • Русский…