Computer >> Máy Tính >  >> Lập trình >> C ++

Tất cả các hành vi không xác định phổ biến mà một lập trình viên C ++ nên biết là gì?

Trong C ++, có một số hành vi không xác định. Chúng được xác định bằng cách thực hiện một số tác vụ trong C ++. Không có định nghĩa trực tiếp như vậy. Tất cả các lập trình viên, những người muốn sử dụng C ++ cho các mục đích khác nhau nên biết những điều này.

Ở đây chúng ta sẽ thấy một số Mã C ++. và cố gắng đoán kết quả. Các mã sẽ tạo ra một số lỗi thời gian chạy.

Lỗi Chia cho Bằng 0 không được xác định.

Mã mẫu

 #include  using namespace std; int main () {int x =10, y =0; int z =x / y; cout <<"Xong" < 

Đầu ra

 Lỗi thời gian chạy cho phép toán chia cho 0 

Đang cố gắng sử dụng biến chưa được khởi tạo.

Mã mẫu

 #include  using namespace std; int main () {bool x; if (x ==true) cout <<"true value"; else cout <<"false value";} 

Đầu ra

 giá trị sai (Giá trị này có thể khác nhau trong các trình biên dịch khác nhau) 

Đang cố gắng truy cập các giá trị con trỏ null.

Mã mẫu

 #include  using namespace std; int main () {int * ptr =NULL; cout <<"Giá trị con trỏ là:" <<* ptr;} 

Đầu ra

 Lỗi thời gian chạy để truy cập các giá trị con trỏ null 

Đang cố gắng truy cập các giá trị con trỏ null.

Mã mẫu

 #include  using namespace std; int main () {int array [10]; for (int i =0; i <=10; i ++) {cout < 

Đầu ra

 Lỗi thời gian chạy để truy cập mục ngoài giới hạn.Một số trình biên dịch có thể trả về một số giá trị tùy ý, không trả về bất kỳ lỗi nào 

Mã mẫu

 #include  using namespace std; int main () {int x =INT_MAX; cout <<"x + 1:" < 

Đầu ra

 x + 1:-2147483648 tuần hoàn đến số lượng int tối thiểu đã ký 

Đang cố gắng thay đổi một số ký tự trong chuỗi ký tự.

Mã mẫu

 #include  using namespace std; int main () {char * str ="Hello World"; str [2] ='x'; cout < 

Đầu ra

 Lỗi thời gian chạy vì chúng tôi đang cố gắng thay đổi giá trị của một số biến không đổi.