Описание Я реализовал WaitGroup на C++, предполагая, что: [list] [*]пользователь должен убедиться, что счетчик значение не опускается ниже нуля. [*]WaitGroup можно использовать повторно. [/list] Ниже приведен мой код: [code]class WaitGroup { public: void Add(size_t count) { lock_guard lock(mutex_); count_ += count; }
private: size_t count_{0}; mutex mutex_; condition_variable cv_; }; [/code] Вопрос Как я могу формально проверить корректность моей реализации WaitGroup? Каков общий способ доказать такие вещи?< /п>
Предположим, у меня есть класс ComponentDefinitionRoot с IEquatable:
class ComponentDefinitionRoot: IEquatable
{
public string Id {get; set;}
public string Name {get; set;}
// many more properties...
public virtual bool...
Предположим, у меня есть класс ComponentDefinitionRoot с IEquatable:
class ComponentDefinitionRoot: IEquatable
{
public string Id {get; set;}
public string Name {get; set;}
// many more properties...
public virtual bool...
Предположим, у меня есть класс ComponentDefinitionRoot, который реализует интерфейс IEquatable:
class ComponentDefinitionRoot: IEquatable
{
public string Id {get; set;}
public string Name {get; set;}