diff --git a/src/Trie.hpp b/src/Trie.hpp index ff88e79..5eaacf2 100644 --- a/src/Trie.hpp +++ b/src/Trie.hpp @@ -71,13 +71,16 @@ namespace CppJieba } Trie(const string& filePath) { - Trie(); + new (this) Trie(); _setInitFlag(init(filePath)); } ~Trie() { _deleteNode(_root); } + private: + + public: bool init(const string& filePath) { diff --git a/test/unittest/TTrie.cpp b/test/unittest/TTrie.cpp index 1d9fdee..1ccbb98 100644 --- a/test/unittest/TTrie.cpp +++ b/test/unittest/TTrie.cpp @@ -5,8 +5,18 @@ using namespace CppJieba; static const char* const DICT_FILE = "../dict/extra_dict/jieba.dict.small.utf8"; +TEST(TrieTest, NewAndDelete) +{ + Trie * trie; + trie = new Trie(DICT_FILE); + delete trie; + trie = new Trie(); + delete trie; +} + TEST(TrieTest, Test1) { + string s1, s2; Trie trie; ASSERT_TRUE(trie.init(DICT_FILE));