改进指针编程 [英] to improve programming in pointers
问题描述
如何通过更多的阅读和练习,使用c ++来提高我的指针编程技巧
。
Ben
si * **********@gmail.com 写道:我如何使用c ++提高我的指针编程技巧
>
去寻找这些问题的答案。
struct A {int a; };
结构B:A {int b; };
A xa [10];
B xb [10];
A * pa = xb;
// Q1 - pa指向的值是多少?
A * pBAD = pa + 1;
// Q2 - 为什么是pBAD,不好?
B * pb = xb;
// - 与Q1相同
>
A * paOK = pb + 1;
// Q3 - paok指向什么?
A(&(* pf)(int * ))[10];
// Q4 - 什么是pf?
A * paX =& pb [1];
bool b(paX == paOK);
// Q5 - b的值是多少?
A * paY =& pb [3];
int iNOTGOOD(paY - paX);
// Q6 - 为什么iNOTGOOD不好?
>
A * paM =新B;
int main()
{
删除PAM; //行Z - 不好
// Q7 - 为什么Z行是坏事?
paM = 0;
// Q8 - 什么是paM?
删除paM;
// Q9 - 删除paM做了什么?
>
bool x(&(* xb).b ==& xb-> b);
// Q10 - x的值是多少?
}
B * F()
{
B x [2];
返回x; // doh!
// Q11 - 为什么行标记为doh坏了?
}
si *********** @ gmail.com écrit:我如何使用c ++提高指针的编程技巧
你甚至不应该使用指针。
尽可能避免使用它们,只在需要时使用它们。
how i can improve my programming skill in pointer using c++
by more reading and practices.
Ben
si***********@gmail.com wrote:how i can improve my programming skill in pointer using c++
Go find the answers to these questions.
struct A { int a; };
struct B : A { int b; };
A xa[ 10 ];
B xb[ 10 ];
A * pa = xb;
// Q1 - what is the value of pa pointing to ?
A * pBAD = pa + 1;
// Q2 - why is pBAD, bad ?
B * pb = xb;
// - same as Q1
A * paOK = pb + 1;
// Q3 - what does paOK point to ?
A (&( * pf )( int * ))[ 10 ];
// Q4 - what is pf ?
A * paX = & pb[1];
bool b( paX == paOK );
// Q5 - what is the value of b
A * paY = & pb[3];
int iNOTGOOD( paY - paX );
// Q6 - Why is iNOTGOOD not good ?
A * paM = new B;
int main()
{
delete paM; // line Z - NOT GOOD
// Q7 - why is line Z a bad thing ?
paM = 0;
// Q8 - what is paM now ?
delete paM;
// Q9 - what does delete paM do ?
bool x( & (* xb).b == & xb->b );
// Q10 - What is the value of x ?
}
B * F()
{
B x[2];
return x; // doh !
// Q11 - Why is the line marked "doh" broken ?
}
si***********@gmail.com a écrit :how i can improve my programming skill in pointer using c++
You shouldn''t even use pointers.
Avoid them as much as possible and only use them when it''s needed.
这篇关于改进指针编程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!