Tài liệu tham khảo trong C++ là một cấu trúc conveneint cho phép chúng tôi để đơn giản hóa mã C sau:shared_ptr và tài liệu tham khảo trong C++
f(object *p){
//do something
}
int main(){
object* p = (object*) calloc(sizeof(object));
f(p);
}
để
f(object& o){
//do something
}
int main(){
object o = object();
f(o);
}
con trỏ chung được một sự tiện lợi trong C++ đơn giản hóa bộ nhớ sự quản lý. Tuy nhiên, tôi không chắc chắn làm thế nào để vượt qua một shared_ptr
đến một chức năng như f(object& o)
chấp nhận đối số bằng cách tham chiếu?
f(object& o){
//do something
}
int main(){
shared_ptr<object> p (new object());
f(*p);
}
Con trỏ chia sẻ có tăng lên khi đối tượng được truyền qua tham chiếu đến hàm không?
Thay vì 'object * p = (đối tượng *) calloc (sizeof (đối tượng));' bạn nên sử dụng 'object * p = new object();' do đó hàm tạo được gọi! (Hoặc bạn có thể 'calloc' sau đó vị trí-'new'.) – strager
Bạn nên chờ một vài giờ để cung cấp cho mọi người thời gian để tìm và trả lời câu hỏi của bạn, hoặc bạn sẽ đi ném trả lời-shuffle, và mọi người sẽ không có một cơ hội để cải thiện câu trả lời của họ thông qua phản hồi nhận xét. Sau khi bạn nghĩ rằng bụi đã lắng xuống, hãy chọn câu trả lời hữu ích nhất. – GManNickG
Sẽ có ý nghĩ đó trong tương lai. Cảm ơn! – dzhelil