一些基础组件

This commit is contained in:
2026-08-30 03:52:23 +08:00
parent f26534c938
commit 37fddc0bdd
11 changed files with 1595 additions and 73 deletions
+2 -2
View File
@@ -56,7 +56,7 @@ TEST_CASE(test_real_smart_ptr_vector_atomic_closure) {
int free_args = 2026; // 自定義銷毀引數
// 使用你編寫的 c_SmartPtr_Make / Init 進行生命周期宣告
c_SmartPtr_t master_sptr = c_SmartPtr_Make(raw_obj, test_resource_free, &free_args);
c_SmartPtr_t master_sptr = c_SmartPtr_Make(raw_obj, test_resource_free, &free_args, 0);
// 剛出生,使用計數必須精準等於 1
ASSERT_INT_EQ(1, c_SmartPtr_UseCount(&master_sptr));
@@ -70,7 +70,7 @@ TEST_CASE(test_real_smart_ptr_vector_atomic_closure) {
// 4. 建立第二具獨立智慧指標,迫使 Vector 翻倍自動擴容(2 -> 4
TestObject_t* raw_obj2 = (TestObject_t*)malloc(sizeof(TestObject_t));
raw_obj2->resource_id = 1122;
c_SmartPtr_t master_sptr2 = c_SmartPtr_Make(raw_obj2, test_resource_free, &free_args);
c_SmartPtr_t master_sptr2 = c_SmartPtr_Make(raw_obj2, test_resource_free, &free_args, 0);
c_SmartPtrVector_PushBack(&vector, &master_sptr2); // 槽位 1