移位寄存器的特殊之处在于在循环结构两端的接线端是强制使用同一内存的。通过移位寄存器传人/传出数据,数据的类型和值都不会发生变化
    移位寄存器除了在迭代间传递局部数据,还有其他一些功能:首先,移位寄存器可以用于程序的内存优化。 由于移位寄存器的左右接线段使用的是同一块缓存,可以利用这一特性,显示的告诉 LabVIEW 重用某些数据的内存,并且不对数据做额外的拷贝。详细说明可以参考:LabVIEW 程序的内存优化。
    移位寄存器还经常被当作全局变量来使用,比如 LabVIEW 程序中常见的功能全局变量。
    使用循环结构的一个常见错误是忘记给移位寄存器赋一个初始值。因此,使用移位寄存器时要切记:在循环结构外给移位寄存器左侧端传入一个初始值,除非程序的功能只在不给移位寄存器赋初值时才能正确完成。
    移位寄存器除了在迭代间传递数据之外,还附带其他一些功能。其中最主要有两点:一是帮助程序内存优化;二是用于功能全局变量中。
    image.png
    缓存重用结构

    反馈节点和移位寄存器的功能与本质是完全相同的。反馈节点的优点在于它不需要从循环的边框上连接数据线.因此,可以把程序写得更简洁美观。尤其是熟悉反馈概念的控制或电子专业的工程师们,可以直观地理解这一节点的用途.由于反馈节点实际依赖于循环结构,而它们之间又没有数据线相连,使用反馈节点时, 一不小心就可能把逻辑关系弄错。另外,反馈节点也会导致某些连线上数据的逆向流动。如果逆向数据线过长,不利于阅读程序,就不如使用移位寄存器了。