C++: Difference between revisions

From Rixort Wiki
Jump to navigation Jump to search
No edit summary
 
(One intermediate revision by the same user not shown)
Line 13: Line 13:
  :widgetName(name)
  :widgetName(name)
  {}
  {}
I'm not sure this is clearer though.


== Sample Makefile ==
== Sample Makefile ==
Line 39: Line 41:
* [http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list The Definitive C++ Book Guide and List]
* [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.
* [http://www.cplusplus.com/ cplusplus.com] - Good reference section.
* [https://en.wikipedia.org/wiki/Criticism_of_C%2B%2B Criticism of C++]


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

Latest revision as of 07:59, 29 August 2019

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)
{}

I'm not sure this is clearer though.

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