- VisualStudio2022
- pprof-Hướng dẫn sử dụng nó trong bản mạng trực tiếp
- Triển khai C# các loại hộp chọn nhiều màu lựa chọn thả xuống, cây lựa chọn nhiều màu lựa chọn thả xuống và các nút tối đa
- [Ghi chú học tập] Cơ sở dữ liệu cấu trúc: cat tree
Các vấn đề và giải pháp gây ra bởi các kiểu dữ liệu trong lập trình.
int maxt(int, int); gấp đôi maxt(double, double);
Nếu có một trình giữ chỗ T có thể thay thế loại, việc viết mã dư thừa có thể được đơn giản hóa.
T maxt(T,T);
Tuyên bố mẫu như sau.
mẫu
Mẫu là từ khóa khai báo mẫu của C++. Bên trong dấu ngoặc nhọn là tên kiểu danh sách tham số mẫu, là từ khóa khai báo kiểu giữ chỗ.
mẫu T maxt(T x, T y){ return (x>y)? x: y;
Trong giai đoạn biên dịch trước, khi một mẫu hàm được gọi trong chương trình, trình biên dịch sẽ thay thế phần giữ chỗ kiểu bằng kiểu thực tế để tạo ra một hàm thực thể. Nếu trình biên dịch có thể suy ra loại tham số mẫu được yêu cầu từ các tham số thực tế của hàm, nó không cần phải chuyển vào tham số mẫu.
template T maxt(T x, T y){ return (x>y)?x:y; } int main(int argc, char* argv[]){ // std::cout<< maxt< int>(4,6)<< std::endl; std::cout<< maxt(4,6)<< std::endl;
Khi khai báo một lớp, hãy sử dụng mẫu để khai báo mẫu.
mẫu lớp Vòng tròn{ public: Vòng tròn(T r });
Nếu một hàm thành viên được triển khai bên ngoài mẫu lớp thì nó phải được khai báo dưới dạng mẫu hàm.
mẫu Vòng tròn::Circle(T r){}
Khi gọi, bạn cần chuyển loại cụ thể bằng dấu ngoặc nhọn sau tên lớp.
Vòng tròn vòng tròn;
Lập trình mẫu của STL không quan tâm đến công nghệ hướng đối tượng. Nó tin rằng việc đóng gói dữ liệu quá mức theo các lớp sẽ ảnh hưởng đến hiệu quả thực thi của chương trình. Để quản lý mã tốt hơn, STL sử dụng một số lượng lớn các mẫu lớp được tạo bởi các cấu trúc mà không có quyền truy cập. quyền.
Mẫu biến, mở rộng mẫu để triển khai các biến như pi
Trong C++ 11, từ khóa auto được sử dụng để suy ra kiểu dữ liệu của biến auto a=100; kiểu auto có thể được suy ra thông qua khả năng bộ nhớ kiểu của trình biên dịch hoặc gợi ý kiểu decltype. Khả năng hiện tại của Auto bị hạn chế và chỉ có hiệu quả đối với các kiểu dữ liệu có sẵn của hệ thống. Đối với các kiểu do người dùng xác định hoặc các kiểu phức tạp, chỉ khi trình biên dịch đã có đủ kinh nghiệm thì nó mới có khả năng rút ra được. Vì lệnh trước trình biên dịch đã biết loại map1.begin(), nên khi xử lý lệnh thứ hai, nó sử dụng khả năng nhớ của mình để tự động suy ra loại iter2. Trong C++ 11, dectype có thể được sử dụng để hướng dẫn tạo ra kiểu trả về giá trị của hàm. về và trình biên dịch cần suy ra. loại trả giá trị của hàm, loại decltype có thể được sử dụng. về công việc phái sinh này. Việc sử dụng tính năng tự động trả giá trị kiểu của hàm được gọi này là trình tự động trả giá trị giá trị tự động. Coi auto là một loại dữ liệu thì auto cũng là một loại chung, ngoại trừ việc không cần phải khai báo với tên loại từ khóa và kiểu thực thi Hoạt động động và các ý tưởng phái sinh được cung cấp bởi ứng dụng. Theo tính chất của tham số thực tế, tham số mẫu được chia thành ba loại: tham số loại, tham số không phải kiểu và tham số số do xác định mẫu. Tên kiểu bao gồm: C++ cho phép các biến hoặc thông tin đối tượng thường được xác định trong danh sách mẫu tham số, có giới hạn như mẫu
Hỗ trợ C++11, chỉ định các tham số không phải kiểu tại thời điểm định nghĩa, như mẫu hạn chế
Việc sử dụng lớp mẫu làm tham số lớp mẫu không được nhấn mạnh rằng các loại tham số phải là lớp mẫu mà vẫn được nhấn số lượng tham số của lớp mẫu. Trình biên dịch có thể suy ra các tham số thực tế tương ứng với các tham số dựa trên các loại tham số thực tế of function. hàm không được cung cấp trong. giữ chỗ cho các tham số chính. Trong C++, con trỏ là một loại dữ liệu và có thể được sử dụng làm mẫu đối số. Bạn có thể sử dụng các công cụ sửa đổi const và & trong mẫu lệnh gọi tham số danh sách. Những thay đổi về loại dữ liệu thường xuyên không liên quan đến logic nghiệp vụ. Khác biệt riêng của dữ liệu với các thuật toán tương ứng với các loại khác thì các thuật toán phải được viết Riêng biệt. Ví dụ: đối số với các kích thước xác định của các hàm, phép so sánh thuật toán cho kiểu số và chuỗi kiểu khác nhau và cần được khai triển riêng. Mẫu <> được sử dụng để hợp nhất nó với maxt mẫu hệ thống. Mức độ ưu tiên của trình biên dịch khi tạo mã thực thi từ các mẫu phù hợp. Cuối cùng, bài viết về C++ Generics 1: Mẫu kết thúc tại đây. bài viết về CFSDN hoặc tiếp tục duyệt các bài viết liên quan.Những nỗ lực của tiêu chuẩn C++ mới về thiết kế chung
tự động và decltype
Tạo ra các kiểu phức tạp bằng cách sử dụng bộ nhớ kiểu
bản đồ<>
loại từ chối
``````````````````````````)mẫu
sample number
Tham số Type
máy đánh tên
bí danh loại được xác định rõ ràngtham số không phải kiểu
Mẫu định nghĩa tham số
// Mẫu lớp với mẫu đơn tham số
Kết quả các tham số và tham số thực tế
Forced boost of function mẫu số
con trỏ đối số
Sử dụng công cụ sửa đổi const và &
mẫu
Chuyên môn hóa mẫu và khởi tạo mẫu
Mẫu chuyên môn
Chuyên môn hóa các chức năng mẫu
template
Chuyên môn hóa và chuyên môn hóa một phần các lớp mẫu
// Sample information
Show sample body
#include sử dụng không gian tên std; lớp C{ riêng: giá trị int công khai: C(){ value = 0;
Câu hỏi này đã có câu trả lời: Sự khác biệt giữa char a[] = ?string?; và char *p = ?string?;?
Bạn muốn cải thiện câu hỏi này? đã được 8 tháng rồi
Ngoài ra, việc gỡ lỗi còn có bất kỳ công cụ kiểm tra nào cho c, c++ hoặc c# hoạt động tương tự như các hàm độc lập được sao chép vào một số hộp bản văn rồi nhập tham số vào các hộp văn bản khác? vị trí.
Tôi muốn chuyển một cửa sổ (HWND) sang màn hình thứ hai. Mọi người đều quan tâm đến cách thực hiện công việc này trong C/C++/C# sẽ hữu ích nhất
Tôi đang tìm kiếm các phát triển hiện có của các loại DES khác nhau trong C/C++/C## nền tảng chạy của tôi là Windows XP/Vista/7. cố gắng viết chương trình C# sẽ sử dụng DES thuật toán để mã hóa và giải mã Tôi cần một số thực tế.
Thật khó để nói những gì để hỏi ở đây. không thể trả lời hợp lý ở dạng hiện tại. truy cập trợ giúp trung tâm Đóng 1.
Có cách nào để buộc một cửa sổ khác ở cùng không? đang chạy trên hệ thống (Windows, C/C++/C#) Câu trả lời hay nhấtSetWindowPos(that_window_ha
Giả sử bạn có lựa chọn giữa C/C++ hoặc Csharp và bạn dự kiến chạy nhiều phiên bản của cùng một máy chủ trên máy chủ Windows và Linux, đâu là lựa chọn thông minh nhất để xây dựng một ứng dụng socket máy chủ? Câu trả lời tốt nhất là như
Bạn có thể cho tôi biết sự khác biệt giữa chúng không? Nhân tiện, có thứ gì được gọi là thư viện C++ hay thư viện C không? lời khuyên hay nhất Thư viện chuẩn C++ và thư viện C là các thư viện được xác định theo tiêu chuẩn C++ và C và được cung cấp để sử dụng các chương trình C++ và C. Đó là điểm chung của những từ đó
#include #include lớp C { công khai:
Thật khó để nói những điều đang thắc mắc ở đây. biện hộ và không thể trả lời hợp lý ở dạng hiện tại. mở lại, hãy truy cập vào trung tâm trợ giúp Đã đóng.
Hủy bỏ ý nghĩ tôi sẽ viết máy chủ sử dụng C++. Sẽ có nhiều lớp khác nhau được thiết kế thông minh. tôi nghĩ tôi có lý nên sử dụng
Tôi có hàm sau trong C#: public Matrix ConcatDescriptors(IList> descriptors) { int cols = descriptors[0].Co
Tôi có một dự án mà tôi phải viết một hàm để thực hiện một số thao tác được xác định rõ nhất trên một số dữ liệu. Thay vào đó, tôi chỉ muốn anh ấy có quyền gọi bằng mã hóa của riêng mình không?
Tôi đang sử dụng API thứ 3 (C/C++) được viết một cách thân thiện. xảy ra "Lỗi vi phạm quyền truy cập". Điều này làm hỏng toàn bộ ứng dụng. [nếu con trỏ truy cập vào bộ nhớ vị trí không hợp lệ, vv
đóng cửa. Câu hỏi này không có thủ tục nguyên tắc của Stack Overflow. các câu hỏi tìm kiếm xuất bản về sách, công cụ, thư viện phần mềm, vv Bạn có thể chỉnh sửa câu hỏi của mình to return bằng sự kiện và trích dẫn. Đóng cửa 7 năm trước
Đã đóng cửa. Câu hỏi này không tuân thủ nguyên tắc Stack Overflow. Câu trả lời không được chấp nhận vào thời điểm này. Các câu hỏi yêu cầu chúng tôi giới thiệu hoặc tìm các công cụ, thư viện hoặc tài nguyên bên ngoài trang web yêu thích đều không có chủ đề đối với Stack Overflow vì
Tôi có một số mã C sẽ được gọi từ C# bằng P/Invoke. Tôi đang cố gắng xác định tương đương C# cho hàm C này. SomeData* DoSomething(); struct SomeData {
Câu hỏi này đã có câu trả lời: Tại sao các cấu trúc này sử dụng hành vi không xác định trước và sau tăng? (14 câu trả lời) Đã đóng 6
Tôi là một lập trình viên xuất sắc, rất xuất sắc!