我在jvm源代碼的classFileParser.cpp中看到以下代碼
ClassFileParser::ClassFileParser(ClassFileStream* stream,
Symbol* name,
ClassLoaderData* loader_data,
const ClassLoadInfo* cl_info,
Publicity pub_level,
TRAPS) :
_stream(stream),
_class_name(NULL),
_loader_data(loader_data),
_unsafe_anonymous_host(cl_info->unsafe_anonymous_host()),
_cp_patches(cl_info->cp_patches()),
_is_hidden(cl_info->is_hidden()),
_can_access_vm_annotations(cl_info->can_access_vm_annotations()),
_num_patched_klasses(0),
......
看上去是用入參stream來初始化_stream,但是我找不到_stream(ClassFileStream* stream)這個函式,這是什么語法特性?
作為一名java表示至少要有_stream這個方法,并且方法體需要是{_stream=stream}這樣一句話才能完成賦值(或者使用lombok自動生成這樣代碼),難道cpp中對于每個private屬性都默認有個同名方法來賦值么?
uj5u.com熱心網友回復:
這代表初始化,跟下劃線沒啥關系,_stream只是一個類成員uj5u.com熱心網友回復:
我的意思是只要有類成員(在這個例子中是各種下劃線開頭),cpp中就默認會有一個同名方法來修改么
uj5u.com熱心網友回復:
那個不是方法uj5u.com熱心網友回復:
這個是初始化串列看看這個鏈接:https://blog.csdn.net/hailong0715/article/details/54018002?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
uj5u.com熱心網友回復:
初始化串列。百度一下
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/37730.html
標籤:C++ 語言
上一篇:C語言-條件運算子輸出問題
