Added shallow copy constructors for Json_Array and Json_Object && Added a float type constructor for Json_Value && Fixed the incorrect indentation issue when pretty-printing an empty Json_Array.

This commit is contained in:
LuChiChick 2026-04-21 20:54:07 +08:00
parent e80d14d347
commit ce6f9646c4
2 changed files with 20 additions and 1 deletions

View File

@ -54,6 +54,8 @@ public:
// 列表构造
Json_Arry(std::initializer_list<Json_Value> init_list) : private_element_list(init_list) {};
Json_Arry(std::vector<Json_Value> init_list) : private_element_list(init_list) {};
// 浅拷贝构造
Json_Arry(const Json_Arry &temp);
// 深拷贝
Json_Arry &operator=(const Json_Arry &another);
@ -101,6 +103,7 @@ public:
Json_Value(int64_t num_integer);
Json_Value(int num_integer) : Json_Value((int64_t)num_integer) {};
Json_Value(double num_float);
Json_Value(float num_float) : Json_Value((double)num_float) {};
Json_Value(bool boolean);
// 浅拷贝构造
Json_Value(const Json_Value &temp);
@ -165,6 +168,8 @@ public:
// 列表构造
Json_Object(std::initializer_list<Json_Pair> init_list) : private_element_list(init_list) {};
Json_Object(std::vector<Json_Pair> init_list) : private_element_list(init_list) {};
// 浅拷贝构造
Json_Object(const Json_Object &temp);
// 深拷贝
Json_Object &operator=(const Json_Object &another);

View File

@ -786,7 +786,7 @@ std::string Json_Export(const char *path_to_file, Json_Value value, bool enable_
fprintf(pFile, "\r\n");
}
// 尾部缩进
if (enable_pretty_print && (!value.isNull()))
if (enable_pretty_print && (!arry.isNull()))
for (size_t count = 0; count < depth; count++)
fprintf(pFile, " ");
@ -1041,6 +1041,13 @@ bool Json_Pair::isNull() const
// =================================================================================================
// 浅拷贝构造
Json_Arry::Json_Arry(const Json_Arry &temp)
{
// 执行深拷贝
*this = temp;
}
// 深拷贝
Json_Arry &Json_Arry::operator=(const Json_Arry &another)
{
@ -1075,6 +1082,13 @@ bool Json_Arry::isNull(void) const
// =================================================================================================
// 浅拷贝构造
Json_Object::Json_Object(const Json_Object &temp)
{
// 执行深拷贝
*this = temp;
}
// 深拷贝
Json_Object &Json_Object::operator=(const Json_Object &another)
{