PaperSloth’s diary

主にゲーム開発関連についての記事を書きます。

Poem コピーの禁止

環境

Visual Studio 2015 Community
C/C++(C++11)
SVN


概要

ポエムなので画期的な技術ネタはありません。
制作日記みたいなものです。


コピー禁止クラスの作成

とりあえずコードをぺたり

// Copyright(c) 2018 PaperSloth

#pragma once

namespace PS
{
	/**
	 * @brief クラスをコピー不可にするための基底クラス
	 */
	class NonCopyable
	{
	public:
		NonCopyable()  = default;
		~NonCopyable() = default;

	private:
		NonCopyable(const NonCopyable&)  = delete;
		NonCopyable(const NonCopyable&&) = delete;
		NonCopyable& operator = (const NonCopyable&)  = delete;
		NonCopyable& operator = (const NonCopyable&&) = delete;
	};
}

namespaceはPaperSlothなのでPSとしました。
某ゲームハードとは特に何の関係もないです。

コメントの書き方
・ざっくりと必要そうな時に書くかも(仕事ではちゃんと書く、趣味コードはほんとに最低限)
・クラスは簡単な説明だけ。
Doxygenに怒られない記述にする(使ってないけど)

中身についてはNonCopyable C++でググればいっぱい情報が出ます。


因みにUE4でもちゃんと定義されています。
FNoncopyable | Unreal Engine

プラグイン開発とかでもインクルードすれば普通に使えるので使ってます。



次回くらいでそろそろWindow作る。