- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
Tôi tìm thấy một đoạn mã trong chương trình C++ có vẻ nhưvì()
Chu kỳ hai lần. Chương trình này lặp lại, nhưng tại sao cái thứ ba lại cần thiết trong định nghĩa tiền xử lý như vậy?
#define for for(int z=0;z<2;++z)for
câu trả lời hay nhất
nó thay thế for
Và for(int z=0;z<2;++z)for
.Rõ ràng là điều đó sẽ trở thành
vì (int i = 0; i < N; ++i) {
// ...
}
进入
for (int z=0;z<2;++z) for (int i = 0; i < N; ++i) {
// ...
}
Do đó hai vòng lặp lồng nhau được tạo ra. không có thêm thứ đó for
sẽ được
for (int z=0;z<2;++z) (int i = 0; i < N; ++i) {
// ...
}
Điều này rõ ràng là không chính xác.
Xin lưu ý rằng ngay cả khi biểu mẫu bạn cung cấp trong câu hỏi của mình là "chính xác", điều này không có nghĩa đó là "cách thực hành tốt". Đây là một ví dụ về việc lạm dụng macro,必须tránh xa. Đây là một trong nhiều ví dụ về việc nó có thể sai như thế nào:
vì (int z = 0; z < 5; ++z) {
vì (int i = 0; i < 3; ++i) {
std::cout << z << std::endl; // điều này sẽ không bao giờ in 2, 3, 4
}
}
Điều này sẽ mở rộng đến
cho (int z=0;z<2;++z) cho (int z = 0; z < 5; ++z) {
for (int z=0;z<2;++z) for (int i = 0; i < 3; ++i) {
std::cout << z << std::endl; // điều này sẽ không bao giờ in 2, 3, 4
}
}
có nghĩa là bây giờ bạn cóbốn Các vòng lặp lồng nhau và vòng lặp bên trong sẽ in "vô hình"z
. thay vì z
Bạn đã khai báo nó ở vòng lặp bên ngoài (nó trở thành vòng lặp phụ trong mã mở rộng).
Một lý do khác: Như @stefan đã chỉ ra, sử dụng từ khóa hoặc các mã định danh nổi tiếng khác làm tên macro là một ý tưởng rất tồi. gợi nhớ đến sự khét tiếng#xác định đúng sai
.Và, như @HolyBlackCat đã đề cập, đó cũng là hành vi không xác định, có nghĩa là theo tiêu chuẩn có liên quan,bất cứ điều gì Bất cứ điều gì có thể xảy ra. Từ những mật mã "dường như có tác dụng" cho đến Thế chiến thứ ba toàn diện chống lại người sao Hỏa (những kẻ xâm chiếm Trái đất để thanh lọc những mật mã xấu xí của họ).
Giới thiệu về c++ - Chữ 'for' thứ ba trong #define for(int z=0;z<2;++z)for(int z=0;z<2;++z)for(int z=0;z<2;++z)có nghĩa là gì, chúng tôi muốn nói gì Tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/36507203/
Tôi tìm thấy một đoạn mã trong chương trình C++ dường như lặp lại hai lần mỗi lần for(). Chương trình này lặp lại, nhưng tại sao cái thứ ba lại cần thiết trong định nghĩa tiền xử lý như vậy? #define for(int z=0;z<2;++z
Tôi đang cố gắng tách văn bản có một chữ cái viết thường, theo sau là một chữ cái viết hoa. Giả sử văn bản là: "Įvairių rūšiųSkinti kardeliai" Tôi muốn tách nó thành "ųS", nhưng biểu thức chính quy sau "[ą-ž][Ą-Ž]
Câu hỏi này đã có câu trả lời ở đây: Tham khảo - Regex này có ý nghĩa gì? (1 câu trả lời) Đã đóng 2 năm trước. Sự khác biệt giữa các biểu thức chính quy sau đây là gì. Đối với tôi chúng đều giống nhau [
Tôi đang cố gắng viết một biểu thức chính quy bằng Java: "/[AZ]{6}-[AZ]{4}-[AZ]{4}/" nhưng nó không hoạt động. Ví dụ: "AASAAA-AAAA-AAAA".matches("/[AZ]{
Tôi cần xác định xem một chuỗi có phải là mã định danh biến hay không. tức là (az,AZ,,$) theo sau là (az,AZ,0-9,,$) Tôi biết tôi có thể làm điều đó bằng cách sử dụng reg exp được cấu hình thủ công nhưng phải có một chức năng tích hợp nhỏ gọn hơn mà tôi có thể
Chào buổi sáng, tôi mới ở đây và tôi có một câu hỏi nhỏ. Tôi không thể phát triển một thuật toán hiệu quả cho vấn đề sau: Tôi cần tìm sự kết hợp của ba số dương x, y và z sao cho x + y, x - y, y + z, y - z, x + z và x - z
Câu hỏi này đã có câu trả lời: Toán tử bậc ba hoạt động như thế nào? (12 câu trả lời) Đã đóng 6 năm trước. Tôi đã khám phá ra một cách khác để trả về các giá trị và tôi rất vui mừng. Nó có nghĩa là gì? giống
Tôi cần biểu thức chính quy sau cho phép [a-zA-Z]+ hoặc [a-zA-Z]+[ \\-]{0,1ya-zA-Z]+ vì vậy tôi muốn sử dụng -Z allow không giới hạn dấu trừ và dấu cách giữa các ký tự Ví dụ: sdfsdfdsf-sf
Tôi đang viết một mã lấy "mã" (lý thuyết mã hóa) làm đầu vào và tôi đã tính toán trọng số của nó. Tôi muốn tìm bộ liệt kê trọng số của mã kép bằng cách sử dụng MacWilliams Identity. Tôi có W(z), bộ liệt kê trọng số của mã và tôi.
Tôi đã viết một trò chơi chữ dành cho trẻ em và hiện tôi đang cố gắng tối ưu hóa hiệu suất. Trò chơi có một cách đặc biệt để chọn từ khóa từ cơ sở dữ liệu và tôi muốn làm tốt hơn. Cho một trường từ khóa MySQL được sắp xếp theo thứ tự chữ và số: từ khóa s
Giả sử một chuỗi là abc/xyz/IMPORTANT/DATA/@#!%@!% và tôi chỉ muốn QUAN TRỌNG/DATA/!%#@%!#% Tôi rất tệ ở các biểu thức thông thường và thực sự chưa học JavaScript API
Mã JS: ? 1
Chào buổi tối mọi người. Tôi đang tự hỏi liệu có cách nào nhanh hơn để tạo danh sách theo mẫu sau không? [a,b,c,…,z] → [[z], [y,z], [x,y,z], … , [a,b,…,y,z]] Tôi biết rằng việc cắt lát là nhất Một trong những cách tốt, nhưng không còn nữa
Tôi đang gặp sự cố với chỉ mục z lồng nhau trên Firefox và các trình duyệt khác, tôi có một div có chỉ mục z 30000 bên dưới nhãn > zindex 9000. Tôi nghĩ điều này là do z-inde gây ra
Tôi đang cố gắng làm một bóng đèn. Đây là mã truy vấn HTML JSfiddle $('.button').click(function() { $('#add').show();
Trong trường hợp bạn muốn nhập một mô-đun lồng nhau vào một không gian tên, tôi luôn viết: from concurrent import Futures Tuy nhiên, gần đây tôi nhận ra rằng điều này cũng có thể được biểu thị bằng cú pháp "as". Xem phần sau: nhập c
Tôi đang cố gắng tạo một hàm về cơ bản sao chép lệnh matlab: [z;-z] trong đó z = randn(m,n) trả về ma trận m -by-n gồm các mục ngẫu nhiên. Tôi đã có thể tạo một cái trong C++ cho hàm randn sau
Ok, tôi không hiểu những con trỏ này, ai đó có thể cho tôi biết chính xác sự khác biệt giữa char * x,y,z; và char* x,y,z; và char (*)x,y,z; Nếu có thể, vui lòng cung cấp nguồn cho câu trả lời của bạn hoặc nội dung khác.
Đây là một câu hỏi phụ thuộc chức năng. Tôi biết khi x->yz thì x->y và x->z. Nhưng liệu sự phụ thuộc trên có thể thực hiện được không? Câu trả lời hay nhấtNếu xy xác định z có thể x xác định z và y
Tôi có danh sách nLedger - đám mây điểm 3D: [nodeID, X, Y, Z] với nhiều hàng. Một số nút sẽ có cùng tọa độ X và Y và tọa độ Z khác nhau. Trước tiên tôi muốn xác định vị trí có cùng X và Y
Tôi là một lập trình viên xuất sắc, rất giỏi!