Hatena::ブログ(Diary)

新言語 Xtalを作る日記

2009-12-26

文字列リテラルを渡されて生成されたStringオブジェクトは、メモリ確保が起こらないようにした 23:36  文字列リテラルを渡されて生成されたStringオブジェクトは、メモリ確保が起こらないようにしたを含むブックマーク

もともと文字列の長さがsizeof(int)-1のものは、即値になるようにしてメモリ確保が起きないよう工夫していましたが、

今回、文字列リテラルを渡されて生成されたStringオブジェクトも即値になるようにしました。



void foo(){
  StringPtr str = xnew<String>(XTAL_STRING("This is a pen."));
  // 変数strに直接文字列リテラルへのポインタが埋め込まれている

  AnyPtr a = XTAL_STRING("Hello, World");
  // 変数aに直接文字列リテラルへのポインタが埋め込まれている
}