  We focus on control constructs that allow programmers define actions to be
performed when respective conditions are met without requiring the explicit
evaluation and testing of conditions as part of an imperative algorithm. Such
elements are commonly referred as declarative, not theoretically related to
declarative languages. We introduce declarative constructs in the C++ language,
presenting the translation method to standard C++. The innovative feature of
our method is the accommodation of l-values involving arbitrary pointer / array
expressions and objects, supporting immediate runtime evaluation upon content
update even if such l-values bind to variant storage locations at runtime. To
accomplish this we define 'l-value redefinition graphs', capturing storage
binding dependencies among variables, being the floor-plan of our code
generation and runtime management approach.
