记一些c++的新手入门实战写法

数组vector遍历

C++ vector 遍历的几种方法_C 语言_脚本之家 (jb51.net)​​​​​​f

继承和多态,万恶的指针

C++多态--子类继承父类,vector中保存父类的-对象/指针/引用,通过容器中的元素访问到子类的方法_o1uncle的博客-CSDN博客

class EditorWindow
{
public:
	void OnEnable();
	virtual void OnGUI() ;
};
#pragma once
#include "EditorWindow.h"
class InspectorWindow :
    public EditorWindow
{
public:
    void OnGUI() override;
};

Windows窗口编程,不确定是不是MFC

头文件.h, .cpp可以乱写,乱引用

//.h文件
public:
	//Get函数
	IDXGISwapChain* GetSwapChain() { return md3dSwapChain; }

#define可以让1000个项目有1000个写法,非常“好”,多用,卷死他人

* 注意定义后,括号前要有空格

* 写法要完整,否则会出现缺少闭环“)”

#define GDirectxCore (SystemClass::Get())

指针和引用

总所周知,哥最近在做c++, exe, directx11, hlsl, imgui的一个“游戏”引擎

说人话,就是手上的项目是个.exe

所以改造一下,做一个指针和引用的测试环境

	/*初始化系统类的窗口*/
	InitializeWindow(ScreenWidth, ScreenHeight);
    if (1 == 1)
	{
		printf("enter loop\n");
		while (true)
		{
		}
		return true;
	}

关于什么是console, 什么是dll , 什么是 lib,那些我也不懂,

反正就是改造一下.exe,(死循环也行)

其中,输出用的Printf(环境)

editbin /SUBSYSTEM:CONSOLE $(OUTDIR)\$(ProjectName).exe

环境搭好后,代码如下

	string s1 ("foo");
	string s2("b2");
	string& rs = s1;
	printf("%s\n", rs.data());//打印有点多余,正常人都是这么理解的
	rs = s2;
	printf("%s\n", rs.data());//打印有点多余,正常人都是这么理解的

	if (1 == 1)
	{
		printf("enter loop\n");
		while (true)
		{
		}
		return true;
	}

结果:(没设么卵用的结果)

	string s1 ("foo");
	string s2("b2");
	//string& rs = s1;
	//printf("%s\n", rs.data());//打印有点多余,正常人都是这么理解的
	//rs = s2;
	//printf("%s\n", rs.data());//打印有点多余,正常人都是这么理解的

	string* ps = &s1;
	printf(" %s\n", s1.data());
	printf("%s\n", ps->data());
	ps = &s2;
	printf("%s\n", ps->data());
	//ps = s1;//根本不能这么写,不用瞎操心了
	/* 这个例子用指针 和引用几乎一点区别没有,细心点才发现指针恶心的地方。。。。。
		程序的执行过程很长,指针很容易被改动,(如果指针不动就没啥事,一般正常人也不会想动),
		传递指针也很容易出错
	*/

结果:打印capture: 

1..其实只要你不引用第三方库,是不会有什么问题的,只是做做算法,逻辑,是不会碰到恶心的指针问题的。。。。。。。

2.如需要更深入了解,例如:指向指针的引用,双指针,请看下面参考部分

3.string*, int*比这世界上最废的废话更废,尽信书不如无书

4.c++ 提供了AST(Abstract syntax tree )Node, 提供了指针,提供了编译器,仅此而已,其他全靠程序员脑补(不要补std容器,不要补std,不要补奇形怪状的写法,多思考自己的需要和多看别人代码),不懂就不要补了,仅此而已

刷下LeetCode算法

参考:

理解指向指针的引用_Smith先生的博客-CSDN博客_指向指针的引用

指针数组与数组指针详解_men_wen的博客-CSDN博客_指针数组和数组指针

C++不允许使用不完整的类型说明_Qt linux 从业者的博客-CSDN博客_不允许使用不完整的类型

C/C++ 随笔目录 - kaizen - 博客园

猜你喜欢

转载自blog.csdn.net/avi9111/article/details/124060765