I put my c++ code below. The aim is to solve one dimensional multi-variable PDE. I use a higher-order-time method. I first defined a class containing three variables, then overloaded all algorithmic operators to it and also the vector of it. You may skip some part of the code. The essential part is the evolve function to make the vector of my class step forward in time. Thanks in advance for any advice. #include #include #include #include #include 【在 p*********t 的大作中提到】 : Using vector should not be significantly slower than just using C-arrays. : Profile your code to see where the time is spent.
【在 g****c 的大作中提到】 : I put my c++ code below. The aim is to solve one dimensional multi-variable : PDE. I use a higher-order-time method. : I first defined a class containing three variables, then overloaded all : algorithmic operators to it and also the vector of it. You may skip some : part of the code. The essential part is the evolve function to make the : vector of my class step forward in time. : Thanks in advance for any advice. : #include : #include : #include
I see. But how to avoid creating temporary structures in overloading operators? In the function below, the variable temp is used to store the intermediate step of data manipulation. How to get around it? thx Time operator+(const Time& lhs, const Time& rhs) { Time temp = lhs; temp.seconds += rhs.seconds; if (temp.seconds >= 60) { temp.seconds -= 60; temp.minutes++; } temp.minutes += rhs.minutes; if (temp.minutes >= 60) { temp.minutes -= 60; temp.hours++
No worry about that as compilers are smart enough to optimize away this temporary if you turn it on.
【在 g****c 的大作中提到】 : I see. But how to avoid creating temporary structures in overloading : operators? In the function below, the variable temp is used to store the : intermediate step of data manipulation. How to get around it? thx : Time operator+(const Time& lhs, const Time& rhs) : { : Time temp = lhs; : temp.seconds += rhs.seconds; : if (temp.seconds >= 60) : { : temp.seconds -= 60;
w*r
27 楼
赞
这小人 伤不到你。。。左边 匕首在上 但下面 失去了。。。 右边 矛戈在上但下面 走了。。。。 虚惊一场。。。 与人为善。。 ★ Sent from iPhone App: iReader Mitbbs Lite 7.52