Safe Sensor nullptr Check

#include <iostream>
using namespace std;

int main() {
    int flag;
    cin >> flag;

    int* sensorPtr = nullptr;   // אתחול פוינטר ריק כברירת מחדל

    if (flag == 1) {
        sensorPtr = new int;    // הקצאת זיכרון דינמית על ה-Heap
        cin >> *sensorPtr;      // קריאת הערך לתוך הכתובת אליה מצביע הפוינטר
    }

    // --- הלוגיקה שחסרה ---
    if (sensorPtr == nullptr) {
        // בדיקה האם הפוינטר עדיין מצביע לכלום
        cout << "NO SENSOR" << endl;
    } else {
        // גישה לערך (Dereferencing) רק לאחר שווידאנו שהוא לא null
        cout << *sensorPtr << endl;
    }
    // -----------------------

    delete sensorPtr;   // ב-C++ זה בטוח לבצע delete על nullptr (לא קורה כלום)
    sensorPtr = nullptr; // פרקטיקה טובה ב-Firmware: איפוס הפוינטר לאחר המחיקה
    
    return 0;
}

Solving Approach

 

 

 

 

 

 

Upvote
Downvote
Loading...

Input

0

Expected Output

NO SENSOR