- Phát triển data.frame theo cách hiệu quả về bộ nhớ
- phát hiện rò rỉ bộ nhớ ruby/ruby on rails
- Không thể giải quyết việc nhập android.support.v7.app
- Ổ cắm miền UNIX và bộ nhớ chia sẻ (tệp được ánh xạ)
Giả sử tôi có một biến mà tôi muốn xuất. Sự khác biệt là gì?
xuất khẩu const a = 1;
sự tương phản
xuất khẩu cho a = 1;
Tôi hiểuhằng số
Vàcho phép
nhưng khi bạn xuất chúng ra thì có gì khác biệt?
1 Câu trả lời
Trong ES6,nhập khẩu
Là chế độ xem chỉ đọc trực tiếp của các giá trị được xuất. Vì vậy, khi bạn thực hiện nhập a từ "somemodule";
Bất kể bạn khai báo thế nào Một
, không thể được gán cho Một
.
Tuy nhiên, vì các biến được nhập khẩu làthời gian thực Xem, chúng thay đổi dựa trên các biến được xuất "gốc" trong tệp export. Hãy xem xét đoạn mã sau (mượn từ bài viết được tham chiếu bên dưới):
//------ thư viện js ------
xuất khẩu let counter = 3;
xuất khẩu hàm incCounter() {
phản++;
}
//------ main1.js ------
nhập {bộ đếm, incCounter} từ './lib';
// Giá trị nhập `counter` đang hoạt động
console.log(bộ đếm); // 3
incCounter();
console.log(bộ đếm); // 4
// Giá trị đã nhập không thể thay đổi
counter++; // Lỗi Kiểu
Như bạn có thể thấy, sự khác biệt thực sự là thư viện js
, thay vì main1.js
.
Tóm tắt:
nhập khẩu
Gán biến.cho phép
-so với-hằng số
Ngữ nghĩa này áp dụng cho các biến được khai báo trong mô-đun.
hằng số
, nó không thể được phân bổ lại hoặc trả lại ở bất cứ đâu.cho phép
, nó chỉ có thể được gán lại trong các mô-đun (không phải bởi người dùng). Nếu bạn thay đổi,nhập khẩu
Biến đã chỉnh sửa sẽ thay đổi tương ứng.
Liên quan đến Javascript ES6 export const và export let, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/32558514/
Đánh dấu là bài tập về nhà vì đây là bài tập giữa kỳ tôi đã viết, nhưng tôi không hiểu câu trả lời. Tôi được yêu cầu giải thích mục đích của mỗi const trong câu lệnh sau: const char const * const GetName() const { ret
const int* const fun(const int* const& p) const; Tôi đang cố gắng tìm ra các tham số đầu vào của nguyên mẫu hàm được cho này. Tôi đang phân vân giữa hai cách này và không biết cách nào là đúng.
Đoạn mã sau được sử dụng để giảm sự trùng lặp mã khi có cả phương thức getter hằng số và không hằng số. Nó tạo ra một phiên bản const từ một phiên bản không phải const. Tôi đã tìm kiếm một chút và nhiều người nói rằng tôi nên tạo phiên bản không phải const từ const.
Theo như tôi biết, TypeScript coi biến chuỗi const là một biến kiểu bất biến chỉ có giá trị đó và không có giá trị nào khác có thể có. Tôi luôn nghĩ rằng việc thêm const là thừa. Tại sao tôi nhận được thông tin sau trong phần thứ hai của ví dụ
Tôi có một phương thức với chữ ký sau: size_t advanceToNextRuleEntryRelatedIndex( size_t index, size_t nStrings, char const
Đầu tiên, sự khác biệt giữa: (1) const char* (2) char const* (3) const char const* Tôi khá chắc là tôi hiểu hoàn toàn điều này, nhưng tôi hy vọng ai đó có thể giải thích cụ thể cho tôi để tôi hiểu rõ hơn.
Người mới ở đây! Tôi đang đọc một đoạn mã và tôi thấy tác giả thường viết một hàm thành viên là const int func (const scalar& a) const // v.v. Bạn thấy đấy, có ba const ở đây, giờ thì tôi hiểu rồi
Tôi luôn bối rối về cách sử dụng const int*, const int * const và int const * một cách chính xác. Có bộ quy tắc nào quy định những điều bạn có thể và không thể làm không? Tôi muốn biết tất cả những việc cần làm và cách gán giá trị, truyền chúng vào các hàm, v.v.
Tôi đã thấy mã trong đó mọi người sử dụng const làm tham số hàm. Lợi ích của việc sử dụng const* so với const * const là gì? Đây có thể là một câu hỏi rất cơ bản nhưng tôi thực sự rất cảm kích nếu ai đó có thể giải thích. Bool làĐâyN
Tôi luôn bối rối về cách sử dụng const int*, const int * const và int const * một cách chính xác. Có bộ quy tắc nào quy định những điều bạn có thể và không thể làm không? Tôi muốn biết tất cả những việc cần làm và cách gán giá trị, truyền chúng vào các hàm, v.v.
Câu hỏi này đã có câu trả lời tại đây: Sự khác biệt giữa const int*, const int * const và int const * là gì? (23 câu trả lời
Mục đích của việc sử dụng từ khóa "const" trong tham chiếu là gì nếu đối tượng được tham chiếu không phải là đối tượng const? Có sự khác biệt nào giữa chức năng của r1 và r2 (xem bên dưới) không? int i = 42; // đối tượng không phải const cons
bạn ơi để mình giải thích tại sao const const const const const int const i = 0; lại là cú pháp hợp lệ. Tôi từ chối có bất kỳ suy nghĩ nào về chủ đề này. Mặc dù tôi tò mò liệu đây có phải chỉ là vấn đề cú pháp không? Biên tập
Tôi luôn mắc lỗi khi sử dụng const int*, const int * const và int const * một cách chính xác. Có bộ quy tắc nào quy định những điều bạn có thể và không thể làm không? Tôi muốn biết tất cả những điều cần lưu ý về phép gán, truyền cho hàm, v.v.
Tính hằng số trong const char* push(const char * const &&_data); có nghĩa là nội dung của tham chiếu không thể thay đổi. Tại sao tôi không thể truyền const char* vào push? Câu trả lời hay nhất cho thế hệ của bạn
Tôi có một câu hỏi liên quan đến các phương pháp hay nhất liên quan đến con trỏ trong tham số hàm và liệu chúng có nên được chỉ định là *const hay const *const . Tôi biết có nhiều ý kiến khác nhau về việc sử dụng hoặc lạm dụng const . , nhưng ít nhất cũng có một số công dụng để nắm bắt
Hiện tại tôi đang viết một bài tập cho lớp học của mình, bài tập này sẽ đóng vai trò như một lớp vỏ rất cơ bản. Tôi gần hoàn thành rồi, nhưng tôi đang gặp sự cố với execvp và mảng ký tự đối số của mình. Sau đây là một đoạn mã nhỏ của tôi. //Chia c bên trái
Vậy là tôi biết sự khác biệt giữa char const *, char * const và char const * const. Đó là: char* the_string : Tôi có thể thay đổi
Tôi đang chạy một số chương trình mẫu để làm quen lại với C++ và tôi gặp phải vấn đề sau. Đầu tiên, đây là mã mẫu: void print_string(const char * the_string) { cout << t
Tôi đang gặp vấn đề với lỗi biên dịch trong hệ thống của mình, đây là mã struct Strless: public binary_function { public: bool operator()(cons
Tôi là một lập trình viên xuất sắc, rất giỏi!