Report a bug
		
				If you spot a problem with this page, click here to create a Bugzilla issue.
		
			Improve this page
		
			Quickly fork, edit online, and submit a pull request for this page.
			Requires a signed-in GitHub account. This works well for small changes.
			If you'd like to make larger changes you may want to consider using
			a local clone.
		
	Features Overview
Navigate D's implementation of a few key programming language concepts.
- Garbage Collection
 - Functions
 - Arrays
 -         OOP
        
- Object Orientation
 - Interfaces
 - Single inheritance of implementation/multiple inheritance of interfaces
 - Operator overloading
 - Modules
 - No built-in dynamic class loading
 - Nested classes
 - Inner (adaptor) classes
 - Covariant return types
 - Properties
 
 -         Performance
        
- Inline assembler
 - Direct access to hardware
 - Lightweight objects
 - Explicit memory allocation control
 - Independent of VM
 - Direct native code gen
 
 -         Generic Programming
        
- Class Templates
 - Function Templates
 - Implicit Function Template Instantiation
 - Partial and Explicit Specialization
 - Value Template Parameters
 - Template Template Parameters
 - Variadic Template Parameters
 - Template Constraints
 - Mixins
 - static if
 - expressions
 - typeof
 - foreach
 - Implicit Type Inference
 
 - Reliability
 -         Compatibility
        
- C-like syntax
 - Enumerated types
 - Support for all C types
 - 80 bit floating point
 - Complex and Imaginary
 - Direct access to C
 - Use existing debuggers
 - Struct member alignment control
 - Generates standard object files
 - Obviates need for a macro text preprocessor
 
 - Other
 
Copyright © 1999-2022 by the D Language Foundation | Page generated by
Ddoc on (no date time)