std::stringをpublic継承させて機能を追加したクラス、
CStringを作りたいと思っています。

class CString :
  public std::string
{
public:
  // 追加機能いろいろ省略。
private:
  static void* operator new(size_t);
};

「仮想デストラクタのないクラスからpublic継承してはいけない」
というのはC++の常識らしいですが、こういう風にnewを自分で禁止しておけば、
ポインタからアクセスすることがなくなるので問題はないと思うのですが、
どうでしょうか? これでも、まだなにかやばい事が起こり得る抜け道って
ありますか?