![]() |
Ответ: mutable volatile extern register auto typename explicit
имхо - тут ничего экзотического..
C-style касты в плюсовом коде юзать моветон, так что плюсовые касты ну никак не экзотические.. спецификаторы вроде тоже штука не экзотическая и встречается часто.. ну вот volatile да, не все знают. И то, в куче чтива о потокобезопасных синглтонах на него ссылаются.. вот export - риально экзотика.. да ещё какая :D |
Ответ: mutable volatile extern register auto typename explicit
экспорт такая экзотика, что в каждом проекте DLL встречается.
Потокобезопасных синглтонов по сути не бывает: можно сделать грязный хак, который не на каждом компиляторе запустится. Ну я тоже могу обосрать - мало не покажется (жаль только время тратить). имхо.. |
Ответ: mutable volatile extern register auto typename explicit
последние четыре выбрасывай, все cast'ы плюсовые явно не редкость в коде.
|
Ответ: mutable volatile extern register auto typename explicit
Цитата:
|
Ответ: mutable volatile extern register auto typename explicit
Опа, за volatile спасибо, на самом деле нужная штука, т.к. в C# много приходится с потоками работать, и ловил такую проблему, где цикл в потоке нужно было отменять, но не грубо, а лишь заставить его закончиться, вот тут и была проблема, теперь не будет :)
|
Ответ: mutable volatile extern register auto typename explicit
а в чём смысл auto ? (не очень понял) (не которое появилось в c++11, а которое сейчас)
|
Ответ: mutable volatile extern register auto typename explicit
auto душевен в C++0x. а раньше был не нужен, да. по сути семантика auto это значит, что переменная объявляется в стеке. но она итак объявляется в стеке без всяких дополнительных слов.
mutable нужен для кеширования результата. explicit тоже нужен часто. |
Ответ: mutable volatile extern register auto typename explicit
Цитата:
Цитата:
чочо, прям в каждой длл-ке такой export для шаблонов есь??.. |
Ответ: mutable volatile extern register auto typename explicit
пардон, прочитал (и далее осознавал) как extern
|
Ответ: mutable volatile extern register auto typename explicit
Цитата:
|
Ответ: mutable volatile extern register auto typename explicit
Код:
class Node |
Ответ: mutable volatile extern register auto typename explicit
иными словами - изменение члена класса (с идентификатором mutable) даже из const-метода (что и написано по ссылкам)
|
Ответ: mutable volatile extern register auto typename explicit
Цитата:
как это связано с выражением "кеширование результата"? |
Ответ: mutable volatile extern register auto typename explicit
Холи привёл конкретный (частный) пример использования.
Цитата:
|
Ответ: mutable volatile extern register auto typename explicit
HolyDel
мне почему то кажется, что конкретный пример - очень гадкая штука. подчеркну, что это лишь моё скромное мнение, но методы должны выполнять одну, минимальную и очевидную(!) операцию. Т.е. то, что называется побочным действием было бы здорово свести к минимуму. В твоём же случае, обычный геттер от которого ждут обычного гета, да ещё и веря, что этот геттер ничего не сделает с данными (т.к. const) с какого-то неведомого перепуга, ребилдит матрицу и меняет данные!.. ну косяк же очевидный, не?.. |
Ответ: mutable volatile extern register auto typename explicit
Цитата:
const заставляет физически быть объект константным а mutable - логически. почему лучше ориентироваться именно на логическое состояние: возьмем для примера функцию построения бяки до ноды Код:
void BuildBaka(Node *toNode) Код:
void BuildBaka(const Node *toNode) Код:
ну косяк же очевидный, не?.. или предлагаете выносить в клиентский код что то вроде: Код:
if(node->NeedRebuildLocalMatrix()) каким именно способом он это делает - клиенский код волновать не должно. |
Ответ: mutable volatile extern register auto typename explicit
вот хорошая статья:
http://alenacpp.blogspot.com/2005/10...constcast.html |
Ответ: mutable volatile extern register auto typename explicit
Цитата:
Цитата:
|
Ответ: mutable volatile extern register auto typename explicit
Есть ещё такая группировка некоторых ключевых слов из 1-ого поста
http://ru.wikipedia.org/wiki/Класс_памяти |
Часовой пояс GMT +4, время: 13:32. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot