summaryrefslogtreecommitdiff
path: root/6p22.cpp
diff options
context:
space:
mode:
Diffstat (limited to '6p22.cpp')
-rw-r--r--6p22.cpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/6p22.cpp b/6p22.cpp
new file mode 100644
index 0000000..91f4bcd
--- /dev/null
+++ b/6p22.cpp
@@ -0,0 +1,41 @@
+#include <iostream>
+
+/*
+ *
+ * 6.22
+ *
+ *
+ */
+
+void SwapIntPtr(int **p1, int **p2) {
+
+ int *p1tmp = *p1;
+ *p1 = *p2;
+ *p2 = p1tmp;
+}
+
+void SwapIntPtrREF(int *&p1, int *&p2) {
+
+ int *p1tmp = p1;
+ p1 = p2;
+ p2 = p1tmp;
+}
+
+int main () {
+
+ int i1 = 10;
+ int i2 = 21;
+ int i3 = 13213;
+ int i4 = 2331;
+ int *p1 = &i1;
+ int *p2 = &i2;
+ int *p3 = &i3;
+ int *p4 = &i4;
+ std::cout << "p1 " << p1 << "\np2 " << p2 << std::endl;
+ SwapIntPtr(&p1, &p2);
+ std::cout << "p1 " << p1 << "\np2 " << p2 << std::endl;
+ std::cout << "\np3 " << p3 << "\np4 " << p4 << std::endl;
+ SwapIntPtrREF(p3, p4);
+ std::cout << "p3 " << p3 << "\np4 " << p4 << std::endl;
+ return 0;
+}