C++ ऑनलाइन कंपाइलर - तुरंत चलाएं, टेस्ट करें, और डिबग करें

हमारे मुफ्त ऑनलाइन C++ कंपाइलर के साथ अपने ब्राउज़र में तुरंत C++ कोड लिखें, कंपाइल करें और चलाएं। सीखने, जल्दी टेस्टिंग और इंटरव्यू की तैयारी के लिए परफेक्ट — कोई सेटअप या इंस्टॉलेशन की जरूरत नहीं।

💡 C++ बेसिक्स गाइड फॉर बिगिनर्स

1. वेरिएबल्स और कॉन्स्टेंट्स की घोषणा

C++ में आपको प्रत्येक वेरिएबल का प्रकार घोषित करना होता है। const का उपयोग उन मानों को परिभाषित करने के लिए करें जिन्हें प्रारंभिककरण के बाद बदला नहीं जा सकता।

int age = 30;
double pi = 3.14159;
char grade = 'A';
std::string name = "Alice";
bool isActive = true;

// Constants
const int MAX_USERS = 100;
const std::string COMPANY = "CodeUtility";

// एक const को संशोधित करने का प्रयास करने पर कंपाइल-टाइम त्रुटि होगी
// MAX_USERS = 200; // ❌ त्रुटि

2. कंडीशनल्स (if / switch)

ब्रांचिंग के लिए if, else if, else का उपयोग करें। कई मानों के लिए switch का उपयोग करें।

int x = 2;
if (x == 1) {
    std::cout << "One\n";
} else if (x == 2) {
    std::cout << "Two\n";
} else {
    std::cout << "Other\n";
}

// Switch-case
switch (x) {
    case 1:
        std::cout << "One\n";
        break;
    case 2:
        std::cout << "Two\n";
        break;
    default:
        std::cout << "Other\n";
}

3. लूप्स

कोड ब्लॉक्स को दोहराने के लिए for, while, और do-while का उपयोग करें।

for (int i = 0; i < 3; i++) {
    std::cout << i << "\n";
}

int n = 3;
while (n > 0) {
    std::cout << n << "\n";
    n--;
}

4. एरेज़

एरेज़ एक ही प्रकार के कई तत्वों को संग्रहीत करते हैं।

int numbers[3] = {10, 20, 30};
std::cout << numbers[1] << "\n";

5. एरे/वेक्टर मैनिपुलेशन

डायनामिक एरेज़ के लिए std::vector का उपयोग करें।

#include <vector>

std::vector nums = {1, 2, 3};
nums.push_back(4);
nums.pop_back();

for (int n : nums) {
    std::cout << n << " ";
}

6. कंसोल इनपुट/आउटपुट

इनपुट के लिए std::cin और आउटपुट के लिए std::cout का उपयोग करें।

std::string name;
std::cout << "Enter your name: ";
std::cin >> name;
std::cout << "Hello, " << name << "\n";

7. फंक्शन्स

फंक्शन्स पुन: प्रयोज्य लॉजिक को समूहित करते हैं। पैरामीटर्स और रिटर्न प्रकारों का उपयोग करें।

int add(int a, int b) {
    return a + b;
}

std::cout << add(3, 4);

8. मैप्स

std::map कुंजी-मूल्य जोड़े को संग्रहीत करता है जैसे कि डिक्शनरी।

#include <map>

std::map ages;
ages["Alice"] = 30;
std::cout << ages["Alice"];

9. एक्सेप्शन हैंडलिंग

रनटाइम त्रुटियों को संभालने के लिए try और catch का उपयोग करें।

try {
    throw std::runtime_error("Error occurred");
} catch (const std::exception& e) {
    std::cout << e.what();
}

10. फाइल इनपुट/आउटपुट

फाइलों से पढ़ने और लिखने के लिए fstream का उपयोग करें।

#include <fstream>

std::ofstream out("file.txt");
out << "Hello File";
out.close();

std::ifstream in("file.txt");
std::string line;
getline(in, line);
std::cout << line;
in.close();

11. स्ट्रिंग मैनिपुलेशन

C++ स्ट्रिंग्स length(), substr(), और find() जैसी विधियों का समर्थन करती हैं।

std::string text = "Hello World";
std::cout << text.length();
std::cout << text.substr(0, 5);
std::cout << text.find("World");

12. क्लासेस और ऑब्जेक्ट्स

C++ क्लासेस का उपयोग करके ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग का समर्थन करता है।

class Person {
  public:
    std::string name;
    Person(std::string n) : name(n) {}
    void greet() { std::cout << "Hi, I'm " << name; }
};

Person p("Alice");
p.greet();

13. पॉइंटर्स

एक पॉइंटर किसी अन्य वेरिएबल का मेमोरी पता संग्रहीत करता है। पता प्राप्त करने के लिए & का उपयोग करें, और पता पर मान तक पहुंचने के लिए * का उपयोग करें।

int x = 10;
int* ptr = &x;

std::cout << "Value of x: " << x << "\n";
std::cout << "Address of x: " << ptr << "\n";
std::cout << "Value from pointer: " << *ptr << "\n";

// पॉइंटर के माध्यम से x को संशोधित करें
*ptr = 20;
std::cout << "Updated x: " << x << "\n";