C++中迭代器的加减

C++中迭代器的加减,第1张

您看的书是不是c++ primer?

那本书上确实有这样的语句,但我觉得是编写错误的。

iterator所支持的-= *** 作应该是ite2 -= n这里n是一个常量。

看看源码中的原型:

__normal_iterator&

operator-=(const difference_type&__n)

{ _M_current -= __nreturn *this}

可以看到形参是一个difference_type类型的变量,而没有迭代器类型形参。

所以要么是编写错误,要么新的STL支持这种 *** 作。但我觉得后面一种可能性不大。

因为ite2-ite1得到一个常量,再赋值给ite2是不合常理的。

main()

{double x1,x2

x1=0.0

x2=cos(x1)

while(fabs(x2-x1)>le-6)//当误差大于10的负六次方循环。

{x1=x2

x2=cos(x1)

}

printf("x=%f\n",x2)

}

牛顿迭代法,是用于求方程或方程组近似根的一种常用的算法设计方法。设方程为f(x)=0,用某种数学方法导出等价的形式 x(n+1) = g(x(n)) = x(n)–f(x(n))/f‘(x(n)).然后按以下步骤执行:

(1) 选一个方程的近似根,赋给变量x1

(2) 将x0的值保存于变量x1,然后计算g(x1),并将结果存于变量x0

(3) 当x0与x1的差的绝对值还小于指定的精度要求时,重复步骤(2)的计算。

若方程有根,并且用上述方法计算出来的近似根序列收敛,则按上述方法求得的x0就

认为是方程的根。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7921030.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-11
下一篇2023-04-11

发表评论

登录后才能评论

评论列表(0条)

    保存