Top 12 # Xem Nhiều Nhất Ý Nghĩa Các Dấu Ngoặc Trong Toán Mới Nhất 5/2023 # Top Like | Shareheartbeat.com

Khi Nào Dấu Ngoặc Đơn Bổ Sung Có Hiệu Lực, Ngoài Ưu Tiên Toán Tử?

TL; DR

Các dấu ngoặc đơn thay đổi ý nghĩa của chương trình C++ trong các ngữ cảnh sau:

ngăn chặn tra cứu tên phụ thuộc đối số

cho phép toán tử dấu phẩy trong ngữ cảnh danh sách

độ phân giải mơ hồ của phân tích cú pháp

khấu trừ tham chiếu trong biểu thức decltype

ngăn ngừa lỗi macro tiền xử lý

Ngăn chặn tra cứu tên phụ thuộc đối số

Như được nêu chi tiết trong Phụ lục A của Tiêu chuẩn, một post-fix expression có dạng (expression) là một primary expression, nhưng không phải là id-expression, và do đó không phải là unqualified-id. Điều này có nghĩa là việc tra cứu tên phụ thuộc đối số bị ngăn chặn trong các lệnh gọi hàm có dạng (fun)(arg) so với dạng thông thường fun(arg).

3.4.2 Tra cứu tên phụ thuộc đối số [basic.lookup.argdep]

1 Khi biểu thức postfix trong lệnh gọi hàm (5.2.2) là id không đủ tiêu chuẩn , các không gian tên khác không được xem xét trong quá trình tra cứu không đủ tiêu chuẩn thông thường (3.4 .1) có thể được tìm kiếm và trong các không gian tên đó, có thể tìm thấy hàm bạn bè phạm vi không gian tên hoặc khai báo mẫu hàm (11.3). Những sửa đổi đối với tìm kiếm này phụ thuộc vào các loại đối số (và đối với đối số mẫu khuôn mẫu, không gian tên của đối số mẫu). [ Thí dụ:

namespace N { struct S { }; void f(S); } void g() { N::S s; f(s);

Kích hoạt toán tử dấu phẩy trong ngữ cảnh danh sách

Toán tử dấu phẩy có một ý nghĩa đặc biệt trong hầu hết các bối cảnh giống như danh sách (đối số hàm và mẫu, danh sách khởi tạo, v.v.). Dấu ngoặc đơn của biểu mẫu a, (b, c), d trong các ngữ cảnh như vậy có thể cho phép toán tử dấu phẩy so với biểu mẫu a, b, c, d thông thường mà toán tử dấu phẩy không áp dụng.

Toán tử dấu phẩy 5.18 [expr.comma]

2 Trong các ngữ cảnh trong đó dấu phẩy được cho một ý nghĩa đặc biệt, [Ví dụ: trong danh sách các đối số cho hàm (5.2.2) và danh sách các công cụ khởi tạo (8.5) Ví dụ về sự thay đổi] toán tử dấu phẩy như được mô tả trong Khoản 5 chỉ có thể xuất hiện trong ngoặc đơn. [ Thí dụ:

có ba đối số, đối số thứ hai có giá trị 5. Ví dụ về biểu tượng]

Độ phân giải mơ hồ của các phân tích cú pháp

Khả năng tương thích ngược với C và cú pháp khai báo hàm phức tạp của nó có thể dẫn đến sự mơ hồ phân tích cú pháp đáng ngạc nhiên, được gọi là phân tích cú pháp. Về cơ bản, bất cứ điều gì có thể được phân tích cú pháp dưới dạng khai báo sẽ được phân tích cú pháp thành một , ngay cả khi một phân tích cạnh tranh cũng sẽ được áp dụng.

6.8 Độ phân giải mơ hồ [stmt.ambig]

8.2 Độ phân giải mơ hồ [dcl.ambig.res]

1 Sự mơ hồ phát sinh từ sự giống nhau giữa kiểu truyền hàm và khai báo được đề cập trong 6.8 cũng có thể xảy ra trong bối cảnh khai báo . Trong ngữ cảnh đó, sự lựa chọn nằm giữa một khai báo hàm với một tập các dấu ngoặc thừa dự phòng xung quanh một tên tham số và một khai báo đối tượng với kiểu kiểu hàm làm trình khởi tạo. Cũng như đối với sự mơ hồ được đề cập trong 6.8, độ phân giải là xem xét bất kỳ cấu trúc nào có thể có thể là khai báo một khai báo . [Lưu ý: Một khai báo có thể được định nghĩa rõ ràng bằng cách sử dụng kiểu không có chức năng, bởi an = để chỉ khởi tạo hoặc bằng cách loại bỏ dấu ngoặc thừa xung quanh tên tham số. Ghi chú của người phụ nữ] [Ví dụ:

struct S { S(int); }; void foo(double a) { S w(int(a));

Một ví dụ nổi tiếng về điều này là Parse Bực mình nhất , một cái tên được Scott Meyers phổ biến trong Mục 6 của STL hiệu quả cuốn sách:

Đặt dấu ngoặc đơn bổ sung xung quanh đối số chức năng đầu tiên (dấu ngoặc đơn xung quanh đối số thứ hai là bất hợp pháp) sẽ giải quyết sự mơ hồ

C++ 11 có cú pháp khởi tạo cú pháp cho phép thực hiện các vấn đề phân tích cú pháp như vậy trong nhiều ngữ cảnh.

Khấu trừ tham chiếu trong biểu thức decltype

Ngược lại với auto loại trừ, decltype cho phép tính tham chiếu (tham chiếu giá trị và giá trị) được suy ra. Các quy tắc phân biệt giữa decltype(e) và decltype((e)) biểu thức:

7.1.6.2 Trình xác định loại đơn giản [dcl.type.simple]

4 Đối với một biểu thức e, loại được biểu thị bởi decltype(e) được định nghĩa như sau:

– if e là biểu thức id chưa được mã hóa hoặc quyền truy cập thành viên lớp không được mã hóa (5.2.5), decltype(e) là loại thực thể được đặt tên bởi e. Nếu không có thực thể đó hoặc nếu e đặt tên cho một tập hợp các hàm bị quá tải, chương trình sẽ không được định dạng;

– nếu không, nếu e là một giá trị, decltype(e) là T&, trong đó T là loại e;

– nếu không, decltype(e) là loại e.

Toán hạng của bộ xác định dectype là toán hạng không được đánh giá (Khoản 5). [ Thí dụ:

decltype(auto) look_up_a_string_1() { auto str = lookup1(); return str; }

Cái đầu tiên trả về string, cái thứ hai trả về string &, là tham chiếu đến biến cục bộ str.

sử dụng dấu ngoặc đơn xung quanh các tham số macro bên trong định nghĩa macro #define TIMES(A, B) (A) * (B); để tránh quyền ưu tiên toán tử không mong muốn (ví dụ: trong TIMES(1 + 2, 2 + 1) mang lại 9 nhưng sẽ mang lại 6 mà không có dấu ngoặc đơn xung quanh (A) và (B)

sử dụng dấu ngoặc đơn xung quanh một chức năng để bảo vệ chống lại việc mở rộng macro trong các tiêu đề được bao gồm: (min)(a, b) (với tác dụng phụ không mong muốn là cũng vô hiệu hóa ADL)

Khi Nào Dấu Ngoặc Đơn Có Tác Dụng, Ngoài Việc Ưu Tiên Toán Tử?

TL; DR

Dấu ngoặc đơn thay đổi ý nghĩa của chương trình C ++ trong các ngữ cảnh sau:

ngăn chặn tra cứu tên phụ thuộc vào đối số

bật toán tử dấu phẩy trong ngữ cảnh danh sách

giải quyết sự mơ hồ của các phân đoạn khó chịu

suy ra tham chiếu trong decltypebiểu thức

ngăn chặn lỗi macro bộ xử lý trước

Ngăn tra cứu tên phụ thuộc vào đối số

Như được trình bày chi tiết trong Phụ lục A của Tiêu chuẩn, a post-fix expressioncó dạng (expression)là a primary expression, nhưng không phải id-expressionvà do đó không phải là unqualified-id. Điều này có nghĩa là tra cứu tên phụ thuộc đối số bị ngăn chặn trong các lệnh gọi hàm của biểu mẫu (fun)(arg)so với biểu mẫu thông thường fun(arg).

3.4.2 Tra cứu tên phụ thuộc vào đối số [basic.lookup.argdep]

1 Khi biểu thức hậu tố trong một lệnh gọi hàm (5.2.2) là một id không đủ tiêu chuẩn , các không gian tên khác không được xem xét trong quá trình tra cứu thông thường không đủ tiêu chuẩn (3.4.1) có thể được tìm kiếm và trong các không gian tên đó, hàm bạn của không gian tên phạm vi hoặc Có thể tìm thấy các khai báo mẫu hàm (11.3) không hiển thị. Những sửa đổi này đối với tìm kiếm phụ thuộc vào loại đối số (và đối với đối số mẫu mẫu, không gian tên của đối số mẫu). [ Thí dụ:

Bật toán tử dấu phẩy trong ngữ cảnh danh sách

Toán tử dấu phẩy có một ý nghĩa đặc biệt trong hầu hết các ngữ cảnh giống như danh sách (đối số hàm và mẫu, danh sách trình khởi tạo, v.v.). Dấu ngoặc đơn của biểu mẫu a, (b, c), dtrong các ngữ cảnh như vậy có thể cho phép toán tử dấu phẩy so với biểu mẫu thông thường a, b, c, d không áp dụng toán tử dấu phẩy.

5.18 Toán tử dấu phẩy [expr.comma]

2 Trong các ngữ cảnh mà dấu phẩy có ý nghĩa đặc biệt, [Ví dụ: trong danh sách các đối số cho các hàm (5.2.2) và danh sách các bộ khởi tạo (8.5) – ví dụ thêm] toán tử dấu phẩy như được mô tả trong Điều 5 chỉ có thể xuất hiện trong dấu ngoặc đơn. [ Thí dụ:

có ba đối số, đối số thứ hai có giá trị 5. -end ví dụ]

Giải quyết sự mơ hồ của các phân đoạn khó chịu

Khả năng tương thích ngược với C và cú pháp khai báo hàm phức tạp của nó có thể dẫn đến sự mơ hồ phân tích cú pháp đáng ngạc nhiên, được gọi là phân tích cú pháp khó chịu. Về cơ bản, bất kỳ thứ gì có thể được phân tích cú pháp như một khai báo sẽ được phân tích cú pháp thành một , mặc dù một phân tích cú pháp cạnh tranh cũng sẽ được áp dụng.

6.8 Giải quyết sự mơ hồ [stmt.ambig]

8.2 Giải quyết sự mơ hồ [dcl.ambig.res]

1 Sự không rõ ràng phát sinh do sự giống nhau giữa một kiểu hàm và một khai báo được đề cập trong 6.8 cũng có thể xảy ra trong ngữ cảnh của một khai báo . Trong bối cảnh đó, sự lựa chọn là giữa một khai báo hàm với một tập hợp các dấu ngoặc đơn dự phòng xung quanh tên tham số và một khai báo đối tượng với một kiểu hàm kiểu làm bộ khởi tạo. Cũng như đối với những điểm không rõ ràng được đề cập trong 6.8, giải pháp là xem xét bất kỳ cấu trúc nào có thể là một khai báo . [Lưu ý: Một khai báo có thể được phân định rõ ràng bằng kiểu ép kiểu phi chức năng, bằng dấu = để chỉ ra sự khởi tạo hoặc bằng cách xóa dấu ngoặc đơn thừa xung quanh tên tham số. -Gửi ghi chú] [Ví dụ:

Một ví dụ nổi tiếng về vấn đề này là Most Vexing Parse , một cái tên được Scott Meyers phổ biến trong Mục 6 của cuốn sách STL Hiệu quả của ông :

Đặt thêm dấu ngoặc đơn xung quanh đối số hàm đầu tiên (dấu ngoặc quanh đối số thứ hai là bất hợp pháp) sẽ giải quyết sự mơ hồ

C ++ 11 có cú pháp khởi tạo dấu ngoặc nhọn cho phép loại bỏ các vấn đề phân tích cú pháp như vậy trong nhiều ngữ cảnh.

Khấu trừ tham chiếu trong decltypebiểu thức

Ngược lại với autosuy luận kiểu, decltypecho phép suy ra tham chiếu (tham chiếu giá trị và giá trị). Các quy tắc phân biệt giữa decltype(e)và decltype((e)) biểu thức:

7.1.6.2 Bộ chỉ định loại đơn giản [dcl.type.simple]

4 Đối với một biểu thức e, kiểu được biểu thị bằngdecltype(e) được định nghĩa như sau:

– if elà một biểu thức id không có dấu ngoặc đơn hoặc quyền truy cập thành viên lớp không có dấu ngoặc đơn (5.2.5), decltype(e)là kiểu thực thể được đặt tên bởi e. Nếu không có thực thể như vậy, hoặc nếu e đặt tên cho một tập hợp các hàm quá tải, chương trình không được định hình;

– nếu không, decltype(e)là loại e.

Toán hạng của trình xác định kiểu khai báo là một toán hạng không được đánh giá (Điều 5). [ Thí dụ:

Trả về đầu tiên string, trả về thứ hai string &, là một tham chiếu đến biến cục bộ str.

sử dụng dấu ngoặc đơn xung quanh các tham số macro bên trong định nghĩa macro #define TIMES(A, B) (A) * (B);để tránh ưu tiên toán tử không mong muốn (ví dụ: trong TIMES(1 + 2, 2 + 1)đó kết quả là 9 nhưng sẽ mang lại 6 mà không có dấu ngoặc đơn xung quanh (A)và(B)

sử dụng dấu ngoặc đơn xung quanh một hàm để bảo vệ khỏi việc mở rộng macro trong các tiêu đề được bao gồm: (min)(a, b)(với tác dụng phụ không mong muốn là vô hiệu hóa ADL)

Định Nghĩa Dấu Ngoặc Vuông Tổng Giá Trị Của Khái Niệm Này. Đây Là Gì Dấu Ngoặc Vuông

Trước khi nhập đầy đủ vào định nghĩa của khung thuật ngữ, chúng ta phải khám phá nguồn gốc từ nguyên của nó. Trong trường hợp này, chúng ta có thể nói rằng nó có nguồn gốc từ tiếng Pháp, chính xác là “crochet”, là kết quả của tổng hai phần được phân biệt rõ ràng: – “Croc”, có nghĩa là “sắt cong”. -Các hậu tố nhỏ “-et”.

Một clasp là một clasp hoặc clasp, làm bằng kim loại, cho phép bạn giữ hoặc móc một cái gì đó.

Trong lĩnh vực thời trang và quần áo, clasp bao gồm hai mảnh được móc vào nhau và cho phép hai phần của quần áo được buộc chặt. Giá đỡ được sử dụng trong áo nịt ngực, áo lót (áo lót) và trong một số quần và váy.

Ý tưởng khung cũng được sử dụng để chỉ một dấu hiệu chính tả kép (vì khung mở và khung đóng luôn được sử dụng). Những dấu hiệu này cho phép bạn thêm thông tin bổ sung cho một văn bản hoặc làm rõ một số khía cạnh của nó. Nếu dấu chấm lửng được sử dụng bên trong dấu ngoặc, điều đó có nghĩa là một phần của văn bản được trích dẫn bị bỏ qua.

Dấu ngoặc mở được viết riêng bởi khoảng trắng của dấu hoặc từ đứng trước nó. Điều tương tự cũng được thực hiện với dấu ngoặc đóng đối với dấu hiệu hoặc từ xảy ra. Đối với các dấu hiệu hoặc từ mà khung, chúng được viết cùng nhau.

Nếu bạn muốn bao gồm một ghi chú trong một câu được viết trong ngoặc đơn, dấu ngoặc được sử dụng: “Rayuela (tiểu thuyết được viết bởi Julio Cortázar [1914-1984]) là một trong những tiểu thuyết tuyệt vời của thế kỷ 20.”

Để xác định rằng văn bản gốc đã được sửa đổi và để chỉ ra rằng một số đoạn đã bị bỏ qua khi sao chép văn bản hoặc khai báo, dấu ngoặc cũng được sử dụng:

“Có [cách] khác ngày nay, chúng tôi không bị buộc phải làm giống như tổ tiên của chúng tôi.”

Ngoài tất cả những điều trên, chúng ta không thể quên rằng, đôi khi, dấu ngoặc được sử dụng, có bên trong chúng là hình elip. Mục đích của những điều này là để chỉ ra rằng một phần đã được trích dẫn đã để lại một phần chưa được sao chép.

Tương tự như vậy, trong một bài thơ, dấu ngoặc mở được sử dụng để chỉ ra rằng những gì tiếp theo thuộc về câu thơ trước.

Trong nhiều trường hợp, việc sử dụng dấu ngoặc, dấu ngoặc đơn và khóa bị nhầm lẫn. Tuy nhiên, điều quan trọng là phải rõ ràng khi nào nên sử dụng chúng mọi lúc: -Các dấu ngoặc được sử dụng để đánh dấu làm rõ trong phiên âm của một văn bản gốc, để giới thiệu một ghi chú làm rõ bổ sung trong một văn bản có dấu ngoặc đơn và bao gồm các phiên âm. – Mặt khác, các dấu ngoặc đơn được sử dụng để tiến hành chèn một số dữ liệu hoặc để giới thiệu một đoạn giải thích về ý nghĩa của văn bản. -Các khóa phải thiết lập rằng chúng được sử dụng cả trong các sơ đồ và trong các bảng thuộc loại khái quát để tiến hành phân nhóm và phân loại các loại. Theo cùng một cách, chúng ta không thể bỏ qua rằng chúng được sử dụng để tiến hành thể hiện các số từ 1 đến 5 ngay trước hoặc sau.

Trong lĩnh vực toán học, dấu ngoặc nhọn, dấu ngoặc và dấu ngoặc đơn ám chỉ tiến trình độ sâu trong các phép toán: {(8 + 1) x [(3 x 4) + (10/2)]}

Dáu Ngoặc Đơn Và Dấu Hai Chấm

– Dấu ngoặc đơn có nhiều kiểu loại, ngoặc tròn ( ), ngoặc vuông [ ], ngoặc nhọn { }. Dùng phổ biến nhất là ngoặc tròn, những kiểu khác ít gặp hơn

– Công dụng: Dấu ngoặc đơn dùng để đánh dấu phần chú thích (giải thích, thuyết minh, bổ sung thêm).

Ví dụ: + Huy (đứa bạn cùng lớp) đến nhà, rủ nó đi chơi.

+ Tiếng trống của Phìa (lý trưởng) thúc gọi thuế vẫn rền rĩ.

+ … Mắt đen tròn (thương thương quá đi thôi!)

Dấu ngoặc đơn là loại dấu câu có chức năng tách biệt. Tác dụng của nó cũng tương tự như dấu phẩy hoặc dấu gạch ngang. Khi dùng cặp đôi để tách thành phần biệt lập. Sự tách biệt thành phần biệt lập làm cho nội dung ý nghĩa của câu phân thành hai bình diện khác nhau: bình diện khách quan, của phần người viết trình bày ngoài ngoặc đơn và bình diện chủ quan là của phần chú tích trong ngoặc.

Ví dụ: Ở đất Mường Giơn, ông không phải là người học Lò chỉ chuyên được làm kỳ mục, tạo bản (trưởng thôn).

a. Dấu hai chấm dùng để đánh dấu lời dẫn trực tiếp hay lời dẫn đối thoại.

+ Khi báo trước lời dẫn trực tiếp, ta dùng với dấu ngoặc kép.

Ví dụ: Chủ tịch Hồ Chí Minh nói: “Tôi chủ có một ham muốn, ham muốn tột bậc, là làm sao cho nước ta hoàn toàn độc lập, dân ta được hoàn toàn tự do, đồng bào ta ai cũng có cơm ăn, áo mặc, ai cũng được học hành”.

+ Khi báo trước một lời đối thoại, ta thường dùng dấu hai chám với dấu gạch ngang.

Ví dụ: Em ngẩng đầu nhìn tôi đáp:

Thấy lão vẫn nài nỉ mãi, tôi đành nhận vậy. Lúc lão ra về, tôi còn hỏi:

– Có đồng nào cụ nhặt nhạnh đưa cho tôi cả thì cụ lấy gì mà ăn?

b – Dấu hai chấm còn dùng để đánh dấu phần bổ sung, giải thích, thuyết minh cho phần đứng trước

– Thuyết minh: Ngoài ra, các em còn được học các môn thể thao: Võ, bơi, cầu lông, bóng bàn, cờ vua…..

– Bổ sung: Thật ra thì lão chỉ tâm ngầm thế, nhưng cũng ra phết chứ chả vừa đâu: lão vừa xin tôi ít bả chó.

– Giải thích: + Hoa bưởi thơm rồi, đêm đã khuya.

+ Cảnh vật xung quanh tôi đều thay đổi, vì chính lòng tôi đang có sự thay đổi lớn: hôm nay tôi đi học.

1. Chữa lại hoặc thêm dấu thích hợp cho các trường hợp sau:

a. Mấy anh giao liên xuống sau nhau lên (1 )

– Thôi chị Hai đi trước đi: ( 2 )

b. Nhà văn Nguyễn Sáng còn có bút danh là Nguyễn Sáng sinh năm 1932, quê ở tỉnh An Giang.

c. Tác giả Nguyễn Huy Tưởng 1912 – 1960, quê ở xã Dục Từ nay thuộc huyện Đông Anh, Hà Nội, là nhà văn và nhà viết kịch đã sáng tác từ trước nă 1945.

d. Ông là tác giả của những tác phẩm chính: Đêm hội Long Trì, Ân Tư công chúa, Sống mãi với Thủ đô và nhiều truyện viết cho thiếu nhi.

e. Tôi đã nghe bà tôi khoe từ mùa hè năm ngoái (1)

– Cửa Tùng, là nhất nước ta đấy ông ạ (2). Tôi đã đi tắm mát ở khắp nước ta (3). Cửa biển, bãi biển nào, ngày xưa tôi cũng tắm qua cả, kể từ đầu Bắc cho đến cuối Nam, Trà Cổ, Đồ Sơn, Sầm Sơn, Cửa Lò, Đèo Ngang, Cửa Nhật Lệ, Cửa Thuận (4)…

– Đọc kỹ từng đoạn, xem xét cách sử dụng dấu hai chấm và dấu ngoặc đơn đã thích hợp chưa. Nếu sử dụng sai, chữa lại cho đúng, nói rõ nguyên nhân sai.

a. Câu 1: thiếu dấu 2 chấm ở cuối câu, vì câu này báo trước lời đối thoại

b. Câu 2: Cuối câu sử dụng dấu hai chấm không thích hợp, cần thay bằng dấu chấm.

(5) Thêm dấu ngoặc đơn để đánh dấu phần chú thích.

2. Nói rõ tác dụng của dấu hai chấm trong những trường hợp sau:

a. Sau khi Tý Hon chào bố, họ đem nó đi, đi mãi (1). Đến xâm xẩm tối, Tí Hon nói (2):

– Cho cháu xuống đất một lát, cháu cần lắm (3).

b. Các cháu nên hiểu rằng: giúp đỡ đồng bào tức là tham gia kháng chiến.

c. Tự nhiên họ có mâm cỗ rất thú vị: đủ mặt từ giò lụa, thịt, trứng, cá, dưa muối, đủ cơm nếp, cơm tẻ, xôi, bánh…

d. Thời kỳ đánh Mỹ, công việc của hai chúng tôi đã khác nhau: anh vẫn là người cán bộ cầm quên, còn tôi lại chuyển sang nghề viết văn, viết báo.

Mẫu: a. Câu 2 – cuối câu sử dụng dấu hai chấm có tác dụng báo trước lời đối thoại.

b. Dấu hai chấm có tác dụng báo trước lời dẫn gián tiếp.

– Đủ số câu, câu đúng ngữ pháp.

– Có sử dụng hợp lý dấu hai chấm và dấu ngoặc đơn.

Những tin mới hơn

Những tin cũ hơn