ForNext
Only Do What Only You Can Do
C, C++, Objective-C, Java, C#
Hyperpolyglot C++ Style Languages: C++, Objective C, Java, C# より (2012.05.08)
はじめに
- 001. hello word
- 002. show version
- 003. libraries used
- 004. source, header, object file suffix
- 005. null
- 006. printf
- 007. case and underscores in names
- 008. coalesce
primitive types
- 009. declare primitive type on stack
- 010. allocate primitive type on heap
- 011. free primitive type on heap
- 012. value of uninitialized primitive types
- 013. boolean types
- 014. signed integer types
- 015. unsigned integer types
- 016. floating point and decimal types
- 017. typedef
- 018. enum
arithmetic and logic
- 019. true and false
- 020. falsehoods
- 021. logical operators
- 022. relational operators
- 023. arithmetic operators
- 024. division by zero
- 025. power
- 026. absolute value
- 027. transcendental functions
- 028. arithmetic truncation
- 029. random integer
- 030. bit operators
strings
- 031. type
- 032. literal
- 033. newline in literal?
- 034. escapes
- 035. allocate string
- 036. length
- 037. comparison
- 038. semantics of ==
- 039. to C string
- 040. string to number
- 041. number to string
- 042. split
- 043. join
- 044. concatenate
- 045. substring
- 046. index
- 047. sprintf
- 048. uppercase
- 049. lowercase
- 050. trim
- 051. pad on right
regular expressions
dates and time
- 054. date/time type
- 055. current date/time
- 056. to unix epoch, from unix epoch
- 057. strftime
- 058. strptime
arrays
- 059. allocate array on stack
- 060. allocate array on heap
- 061. free array on heap
- 062. array literal
- 063. array access
- 064. length
- 065. array out-of-bounds result
- 066. array iteration
- 067. struct definition
- 068. struct declaration
- 069. struct initialization
- 070. struct member assignment
- 071. struct member access
- 072. vector declaration
- 073. vector push
- 074. vector pop
- 075. vector size
- 076. vector access
- 077. vector out of bounds result
- 078. vector iteration
dictionaries
- 079. pair
- 080. map declaration
- 081. map access
- 082. map size
- 083. map remove element
- 084. map element not found result
- 085. map iterate
functions
- 086. pass by value
- 087. pass by address
- 088. pass by reference
- 089. default argument value
- 090. named parameters
- 091. function overloading
- 092. variable number of arguments
anonymous function
execution control
- 094. for
- 095. if
- 096. while
- 097. switch
- 098. throw exception
- 099. catch exception
- 100. finally clause
- 101. methods must declare exceptions
files
processes and environment
- 104. signature of main
- 105. first argument
- 106. environment variable
- 107. iterate thru environment variables
libraries and namespaces
- 108. declare namespace
- 109. multiple namespaces per file
- 110. namespaces map to directories
- 111. import namespace
- 112. import part of namespace
- 113. import symbol
- 114. import static symbol
- 115. import position
- 116. using a symbol that hasn't been imported
objects
- 117. define class
- 118. class definition location
- 119. constructor
- 120. create object
- 121. destructor
- 122. destroy object
- 123. define method
- 124. invoke method
- 125. dynamic dispatch
- 126. static dispatch
- 127. define class method
invoke class method
- 128. name of receiver
- 129. access control
- 130. anonymous class
- 131. subclass
- 132. invoking superclass constructor
- 133. mark class underivable or method unoverrideable
- 134. root class
- 135. root class methods
generic types
- 136. define generic type
- 137. instatiate generic type
- 138. generic function
- 139. generic array
- 140. value parameter
template specialization
reflection
- 143. get type class of object
- 144. get type class from string
- 145. get type class from type identifier
- 146. class name
- 147. get methods
- 148. has method
- 149. invoke method object