LockLib update
Обновился LockLib на GitHub: https://github.com/coolsoftware/LockLib.
1. Классы VLock, VRWLock, VLockPtr, VReadLockPtr, VWriteLockPtr теперь “uncopyable”, то есть их нельзя скопировать (см. Листинг 1: Ошибка 1 и Ошибка 2). Запрет на копирование осуществляется путем наследования этих классов от VUncopyable. При компиляции кода, содержащего запрещенное копирование, будет выдано сообщение ошибке:
VLock.h(62): error C2248: ‘VUncopyable::VUncopyable’ : cannot access private member declared in class ‘VUncopyable’
2. Конструктор класса VRWLock объявлен с ключевым словом explicit для того, чтобы исключить неявное создание экземпляра этого класса при вызове функции (см. Листинг 1: Ошибка 3). При компиляции кода, содержащего такое неявное создание VRWLock, будет выдано сообщение об ошибке:
TestLock.cpp(184): error C2664: ‘RWFunc’ : cannot convert parameter 1 from ‘int’ to ‘const VRWLock &’
Reason: cannot convert from ‘int’ to ‘const VRWLock’
Constructor for class ‘VRWLock’ is declared ‘explicit’
Листинг. 1.
void RWFunc(const VRWLock&) |
===
Перепечатка материалов блога разрешается с обязательной ссылкой на blog.coolsoftware.ru