我真的很困惑,因为我个人,我来自java背景,最近开始C++。所以,我学会了所有基本的东西,比如把东西印到屏幕上,然后现在我学到了指针。因此,YouTube上的人(The Cherno's C++ Pointer tutorial这不是他声明const char *的视频,只是我遵循的指针教程。)我一直在使用以下语句来声明我所知道的“字符串” 。const char *不只是一个字符?
const char* str = "random text here";
但是,如何将char *转换为字符串,甚至使用双引号就像字符串!另外,常数与这些有什么关系?如果我从我的代码中删除const
,它会给我一个错误。但是,我明白指针是什么。它是一个变量,用于保存另一个变量的内存地址,所以如果要直接访问该变量,他们只需要执行*ptrVarName
并对其进行解除引用。但字符串"like this one"
如何成为内存地址? 我不需要这样做吗?
char[] str = "string here";
然后执行:
char* stringPointer = *str;
(警告:未经测试的代码!)提前
感谢。 (噢,对不起,如果这是一个非常NOOBY问题或问题是制作粗糙的,我刚开始用C++和计算器)
编辑:好了,我明白了char* str
的意思。这意味着当你参考*str
时,这意味着你正在访问内存中的第一个字符。好的,我现在明白了。但是,const是什么意思?
听起来像你可以使用[良好的C++书](http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list)。您可以从随机在线教程中获得更完整的教育。 – NathanOliver
如果您使用C++,为什么不使用'std :: string'? – RPGillespie
事实上,从'T *',我们不知道是否有一个或几个对象。 – Jarod42