Do I cite introductory material in a subject that helped me indirectly?
You don't typically cite material that helps you understand a topic. You cite material that you explicitly use in a paper. So source books like a C++ book don't need to be cited unless you're using an unusual and explicit construction mentioned in one of those books. For example, there's a technique to draw a geometric object using GPUs that was first mentioned in an graphics programming textbook: people using the technique will cite that textbook. 

Wikipedia is not supposed to be a repository of original material, so if you found something on wikipedia then there's likely to be an original source that Wikipedia should cite and that you should as well (once you verify it). 

For a website it's a similar principle. If the website contains code that you're using, then cite it (or better yet, cite the associated material that the code authors might suggest you cite instead). But if the website merely contains expository material that helps understanding, then you don't cite it.