C++: Difference between revisions

From Rixort Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 33: Line 33:
  clean:
  clean:
   rm -rf *.o $(EXECUTABLE)
   rm -rf *.o $(EXECUTABLE)
== Links ==
* [https://randomascii.wordpress.com/2016/07/17/zeroing-memory-is-hard-vc-2015-arrays/ Zeroing Memory is Hard (VC++ 2015 arrays)]
* [http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list The Definitive C++ Book Guide and List]
* [http://www.cplusplus.com/ cplusplus.com] - Good reference section.


[[Category:Programming]]
[[Category:Programming]]

Revision as of 18:52, 17 July 2018

Member initialisation lists

Instead of writing a constructor like this:

Widget::Widget(const std::string &name)
{
  widgetName = name;
}

you can write this:

Widget::Widget(const std::string &name)
:widgetName(name)
{}

Sample Makefile

CC=clang++
CFLAGS=-Weverything -std=c++11 -stdlib=libc++
LDFLAGS=
SOURCES=readfile.cpp
OBJECTS=$(SOURCES:.cpp=.o)
EXECUTABLE=readfile

all: $(SOURCES) $(EXECUTABLE)

$(EXECUTABLE): $(OBJECTS)
  $(CC) $(LDFLAGS) $(OBJECTS) -o $@
.cpp.o:
  $(CC) $(CFLAGS) -c $< -o $@
clean:
  rm -rf *.o $(EXECUTABLE)

Links