1 // Copyright 2015 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 namespace blink { 6 7 // Simple global constants. 8 const char helloWorldConstant[] = "Hello world!"; 9 // Make sure a one-character constant doesn't get mangled. 10 const float e = 2.718281828; 11 // Some constants start with a capital letter already. 12 const int SpeedOfLightInMetresPerSecond = 299792458; 13 14 // Already Chrome style, so shouldn't change. 15 const float kPi = 3.141592654; 16 17 class C { 18 public: 19 // Static class constants. 20 static const int usefulConstant = 8; 21 // Note: s_ prefix should not be retained. 22 static const int s_staticConstant = 9; 23 // Note: m_ prefix should not be retained even though the proper prefix is s_. 24 static const int m_superNumber = 42; 25 26 // Not a constant even though it has static storage duration. 27 static const char* m_currentEvent; 28 29 static int Function(); 30 FunctionWithConstant()31 static void FunctionWithConstant() { 32 const int kFunctionConstant = 4; 33 const int kFunctionConstantFromExpression = 4 + 6; 34 const int kFunctionConstantFromOtherConsts = 35 kFunctionConstant + kFunctionConstantFromExpression; 36 // These don't do the right thing right now, but names like this don't 37 // exist in blink (hopefully). 38 const int should_be_renamed_to_a_const = 9 - 2; 39 const int should_also_be_renamed_to_a_const = 40 kFunctionConstant + kFunctionConstantFromOtherConsts; 41 const int not_compile_time_const = kFunctionConstant + Function(); 42 } 43 }; 44 F()45void F() { 46 // Constant in function body. 47 static const char staticString[] = "abc"; 48 // Constant-style naming, since it's initialized with a literal. 49 const char* const nonStaticStringConstant = "def"; 50 // Not constant-style naming, since it's not initialized with a literal. 51 const char* const nonStaticStringUnconstant = nonStaticStringConstant; 52 } 53 54 } // namespace blink 55