აქვს c++ ნაგულისხმევი ინიციალიზაცია?

Სარჩევი:

აქვს c++ ნაგულისხმევი ინიციალიზაცია?
აქვს c++ ნაგულისხმევი ინიციალიზაცია?

ვიდეო: აქვს c++ ნაგულისხმევი ინიციალიზაცია?

ვიდეო: აქვს c++ ნაგულისხმევი ინიციალიზაცია?
ვიდეო: Member Initializer Lists in C++ (Constructor Initializer List) 2024, დეკემბერი
Anonim

C ყოველთვის იყო ძალიან სპეციფიკურიობიექტების საწყისი მნიშვნელობების შესახებ. თუ გლობალური ან სტატიკურია, ისინი ნულდება. თუ ავტო, მნიშვნელობა განუსაზღვრელია. ეს ასე იყო C89-მდე შემდგენლებში და ასე იყო მითითებული K&R-ის მიერ და DMR-ის თავდაპირველ C ანგარიშში.

არის ნაგულისხმევი ინიციალიზაცია C-ში?

ზოგიერთი პროგრამირების ენისგან განსხვავებით, C/C++ არ ახდენს ცვლადების უმეტესობის ინიციალიზებას მოცემულ მნიშვნელობაზე (როგორიცაა ნულოვანი) ავტომატურად. ამრიგად, როდესაც ცვლადს ენიჭება მეხსიერების მდებარეობა შემდგენელის მიერ, ამ ცვლადის ნაგულისხმევი მნიშვნელობა არის ის, რაც (ნაგვის) მნიშვნელობა უკვე იქნება ამ მეხსიერების მდებარეობაში!

რა არის მასივის ნაგულისხმევი ინიციალიზაცია C-ში?

მაგალითად, მთელი რიცხვების მასივები ინიციალიზებულია 0-ით. ორმაგი და float მნიშვნელობები ინიციალიზდება 0.0-ით. სიმბოლოების მასივებისთვის ნაგულისხმევი მნიშვნელობა არის '\0'. მაჩვენებლების მასივისთვის ნაგულისხმევი მნიშვნელობა არის nullptr.

შესაძლებელია დინამიური ინიციალიზაცია C-ში?

ობიექტის დინამიური ინიციალიზაცია C++

ობიექტის დინამიური ინიციალიზაცია ეხება ობიექტების ინიციალიზაციას გაშვების დროს, ანუ ობიექტის საწყისი მნიშვნელობა მოცემულია დროს გაშვების დრო. მისი მიღწევა შესაძლებელია კონსტრუქტორების გამოყენებით და კონსტრუქტორებისთვის პარამეტრების გადაცემით.

რომელი ცვლადები ინიციალიზდება ავტომატურად C-ში?

გლობალური ცვლადები ავტომატურად ინიციალიზდება 0-მდე დეკლარაციის დროს. გლობალური ცვლადები ძირითადად იწერება ძირითადი ფუნქციის წინ. მე-4 სტრიქონში a და b გამოცხადებულია, როგორც int ტიპის ორი გლობალური ცვლადი.