aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/_posts/snippets/static_vs_inline_vs_unnamed_namespaces/inline
diff options
context:
space:
mode:
authorEgor Tensin <Egor.Tensin@gmail.com>2017-06-24 22:54:43 +0300
committerEgor Tensin <Egor.Tensin@gmail.com>2017-06-25 05:05:48 +0300
commit9b3ad53e855764e46a9febe395b88d3ca1aeaf45 (patch)
tree9930fcc81ef6fd38cb168732bdfd6bf87a4f0828 /_posts/snippets/static_vs_inline_vs_unnamed_namespaces/inline
parentadd _drafts/ (diff)
downloadblog-9b3ad53e855764e46a9febe395b88d3ca1aeaf45.tar.gz
blog-9b3ad53e855764e46a9febe395b88d3ca1aeaf45.zip
add post "static vs. inline vs. namespace {"
Also includes a bunch of includes to easily add grouped code snippets to a post. They were present before, but I wiped them away during the recent major history rewriting which I still regret about.
Diffstat (limited to '_posts/snippets/static_vs_inline_vs_unnamed_namespaces/inline')
-rw-r--r--_posts/snippets/static_vs_inline_vs_unnamed_namespaces/inline/shared.hpp7
-rw-r--r--_posts/snippets/static_vs_inline_vs_unnamed_namespaces/inline/weird/another.cpp13
-rw-r--r--_posts/snippets/static_vs_inline_vs_unnamed_namespaces/inline/weird/another.hpp3
-rw-r--r--_posts/snippets/static_vs_inline_vs_unnamed_namespaces/inline/weird/main.cpp15
4 files changed, 38 insertions, 0 deletions
diff --git a/_posts/snippets/static_vs_inline_vs_unnamed_namespaces/inline/shared.hpp b/_posts/snippets/static_vs_inline_vs_unnamed_namespaces/inline/shared.hpp
new file mode 100644
index 0000000..91313f2
--- /dev/null
+++ b/_posts/snippets/static_vs_inline_vs_unnamed_namespaces/inline/shared.hpp
@@ -0,0 +1,7 @@
+#pragma once
+
+inline int shared()
+{
+ static int n = 0;
+ return ++n;
+}
diff --git a/_posts/snippets/static_vs_inline_vs_unnamed_namespaces/inline/weird/another.cpp b/_posts/snippets/static_vs_inline_vs_unnamed_namespaces/inline/weird/another.cpp
new file mode 100644
index 0000000..668516a
--- /dev/null
+++ b/_posts/snippets/static_vs_inline_vs_unnamed_namespaces/inline/weird/another.cpp
@@ -0,0 +1,13 @@
+#include "another.hpp"
+
+#include <iostream>
+
+inline void shared()
+{
+ std::cout << "another.cpp: shared()\n";
+}
+
+void another()
+{
+ shared();
+}
diff --git a/_posts/snippets/static_vs_inline_vs_unnamed_namespaces/inline/weird/another.hpp b/_posts/snippets/static_vs_inline_vs_unnamed_namespaces/inline/weird/another.hpp
new file mode 100644
index 0000000..9c26d3f
--- /dev/null
+++ b/_posts/snippets/static_vs_inline_vs_unnamed_namespaces/inline/weird/another.hpp
@@ -0,0 +1,3 @@
+#pragma once
+
+void another();
diff --git a/_posts/snippets/static_vs_inline_vs_unnamed_namespaces/inline/weird/main.cpp b/_posts/snippets/static_vs_inline_vs_unnamed_namespaces/inline/weird/main.cpp
new file mode 100644
index 0000000..4e32fb5
--- /dev/null
+++ b/_posts/snippets/static_vs_inline_vs_unnamed_namespaces/inline/weird/main.cpp
@@ -0,0 +1,15 @@
+#include "another.hpp"
+
+#include <iostream>
+
+inline void shared()
+{
+ std::cout << "main.cpp: shared()\n";
+}
+
+int main()
+{
+ shared();
+ another();
+ return 0;
+}