जावा में में मैंजावा ArrayList सी ++
List<String> data = new ArrayList<String>();
data.add("my name");
मैं सी ++ में भी ऐसा ही होता है कैसे कर सकते हैं?
जावा में में मैंजावा ArrayList सी ++
List<String> data = new ArrayList<String>();
data.add("my name");
मैं सी ++ में भी ऐसा ही होता है कैसे कर सकते हैं?
उपयोग std::vector
और std::string
:
#include <vector> //for std::vector
#include <string> //for std::string
std::vector<std::string> data;
data.push_back("my name");
ध्यान दें कि सी ++ में, आप new
हर उपयोग करने के लिए आप एक वस्तु बनाने की जरूरत नहीं है। ऑब्जेक्ट data
डिफ़ॉल्ट रूप से std::vector
के डिफ़ॉल्ट कन्स्ट्रक्टर को कॉल करके प्रारंभ किया गया है। तो उपरोक्त कोड ठीक है।
सी ++ में, मोटो है: से बचें संभव जितना new
।
आप पहले से ही आकार का पता संकलन समय पर और सरणी विकसित करने के लिए की जरूरत नहीं है, तो आप std::array
उपयोग कर सकते हैं:
#include <array> //for std::array
std::array<std::string, N> data; //N is compile-time constant
data[i] = "my name"; //for i >=0 and i < N
अधिक जानकारी के लिए प्रलेखन पढ़ें:
सी ++ मानक पुस्तकालय कई कंटेनर नहीं है। स्थिति के आधार पर आपको एक ऐसा चुनना होगा जो आपके उद्देश्य के लिए उपयुक्त है। उनमें से प्रत्येक के बारे में बात करना मेरे लिए संभव नहीं है। लेकिन यहाँ चार्ट मदद करता है कि एक बहुत (source) है:
क्या आपको कक्षा को पहले शुरू करने की आवश्यकता नहीं होगी? –
@ शीओ: हुह? वेक्टर पहले ही शुरू हो चुका है। –
मुझे कन्स्ट्रक्टर को कॉल नहीं दिख रहा है ... –
सभी एक पंक्ति में वेक्टर myVec संयुक्त (1, "हैलो");
लोग, डाउनवॉटिंग रोकें। यह सी ++ सीखने के लिए अन्य भाषाओं से आने वाले प्रोग्रामर को हतोत्साहित करता है। प्रश्न में कुछ भी गलत नहीं है। – Nawaz
मुझे आश्चर्य है कि क्या सोचा प्रक्रिया, अगर कोई है, तो उस डाउनवोट में चला गया। – kasavbere