R ^ (**(*(*p)(int, char))[])(int);
لا إله إلا الله محمد رسول الله
アッラー以外に神はなし。ムハンマドはアッラーの使徒である
R ^ (**(*(*p)(int, char))[])(int);
لا إله إلا الله محمد رسول الله
アッラー以外に神はなし。ムハンマドはアッラーの使徒である
Since types are defined recursively in C++, there are few limitations on the types of nightmar- ish expressions you can create beyond the limitations of the CLR. For example, the following valid expression declares the variable p to be a pointer to a function taking int and char and returning a pointer to an array of pointers of pointers tofunctions taking int and returning handles to R: R ^ (**(*(*p)(int, char))[])(int); In general, this is how you read complex declarations: Start at the name of the variable inthe center. In this case, the variable name is p. From there, look to the right. If you see an opening parenthesis, it’s a function. If you see an opening square bracket, it is an array. If you see a semicolon, a closing parenthesis, or nothing at all, look to the left. If you see a ^, it’s a handle. If you see a *, it’s a pointer. From there, continue to telescope your way outward, respecting parentheses and skipping over tokens you’ve already used. Clearly, this is an algo- rithm that is easier said than done. The nice thing about complex declarations is that the only limits are those of your imagi- nation.
هذا وجدته من البحث في قوقل داخل كتاب Pro
Visual C++ 2005
for C# Developers