科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件C++语言的基本问题

C++语言的基本问题

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

对于C++而言,是一种无格式的语言,编译器会忽略所有的空格,回车标记,换行符等等,并把所有这些统称为空白。

作者:周文君 来源:CSDN 2008年3月20日

关键字: 问题 语言 C++ C Linux

  • 评论
  • 分享微博
  • 分享邮件
 对于C++而言,是一种无格式的语言,编译器会忽略所有的空格,回车标记,换行符等等,并把所有这些统称为空白。

       C++语言区分大小写!

        然后我们来说说标示符的命名,首先,那些基本的概念要有哦;第二,最好不要以下划线开头;第三,不要以跟关键字相近的名字命名,比如INT,Return等等。

         然后程序的步骤,编辑,编译,链接,运行和测试。

         注意:系统库和类库经常有很多的.obj文件,处理一个项目的所有库目标文件是一件繁重的工作,所以通常将.obj文件合并到.lib库文件中,以求方便。

        再是,通过一个WIN32项目建立一个helloworld程序,

       #include<iostream>

       using namespace std;

      int main()

           {

                     cout<<""HelloWorld!";

                    cin.ignore();//暂停执行的代码,避免运行之后结果闪一下就没了的问题

                    return  0;

          }

         由于C++语言没有格式,所以程序员可以使用制表符或空格缩进作为组织程序布局的方式。代码块中的语句,如for循环或if语句,通常采取缩进方式(通常缩进4个字符)。这样一来,程序员可以更快地识别程序块中的内容。

         关于对待警告的问题:应该把警告看作是错误,换句话说,应该将他们排除掉,警告的存在是有缘由的,它们的存在标志着代码中确实有错误。

         变量是内存中暂时存储程序所用数据的位置。

         类型系统:

         变量命名注意:避免使用这样的标示符:以两条下划线开头,或在下划线后紧跟一个大写字母(例如:_A)。因为微软使用以上的命名的方法来指定宏和微软专用的关键字,所以在变量开头使用这些组合可能导致名称冲突。

        指针的用处:首先,指针是将参数传递给函数的主要方式之一。参数通常以值的方式进行传递,此值只是一个副本,所以不能对值进行修改,也不能希望让它返回到调用它的代码中。指针不仅允许可以传递参数还允许修改参数值。第二,在对一系列数据(比如数组中的值)进行操作时,使用指针可以执行很高的效率。

         .NET框架String类:String类不是内置的数据类型,它是.NET框架的一部分。因此,在使用String类之前,必须在项目中包含一些库文件。在项目的顶端添加如下两行代码:

          #using <mscorlib.dll>

           using namespace System;

          #using 行告诉编译器从mscorlib.dll文件中查找有关String类的详细内容。mscorlib.dll库文件包含.NET的核心组件,using行的作业是帮助您使用某些.NET类。例子,建立一个CLR控制台应用程序,HelloWorld.cpp中的代码为

#include "stdafx.h"

//#using<mscorlib.dll>

using namespace System;

int main(array<System::String ^> ^args)
{
    String ^a = "helloWorld!";
    Console::WriteLine(a);
    return 0;
}

 

        注意:虽然String 类的功能非常强大,但一旦初始化了一个String对象,就不能再改变它。表面上看,String类的成员函数(如Insert和Replace)是要修改字符串,实际上返回的是一个包含修改的新的String对象。这样,当对一个字符串进行反复修改时,这种情况使得String类方法的效率变得非常低。此时,应使用StringBuilder类,而且必须包含mscorlib.dll程序集以及System.Text命名空间来简化对成员的访问。

        注意:在操作对象时,前缀式的增量和减量运算符比后缀式更加有效。这是因为在将对象作增量或减量运算之前,我们不必在表达式中使用对象的临时副本。

        类型转换:除了支持C++的标准的转换(type)value之外,还支持下面四种

       1.static_cast<type>

       2.const_cast<type>

       3.dynamic_cast<type>

       4.reinterpret_cast<type>

      int a=10;

      double b;

      b = (double)a;//老版

      b = static_cast<double>(a);//C++

     为什么要使用函数,原因主要有以下几点:

     1。函数一般都是短小的,不连续的。将一个程序编写为一系列函数之后,程序员可以集中精力于其中某一函数,因此降低了程序开发难度。

     2。将一个程序分解为大量小型函数后,提高了程序的可读性,而且更易于调试。

     3。函数可以重复使用。一旦编写了一个函数,便可以随时调用它。这样就简化了代码编写工作,提高了开发效率。

     函数原型是一条将函数名称介绍给编译器的单行语句。

     注意:在函数原型中,参数名称可有可无。从理论上讲,可以只指明参数类型,而将参数名称省略掉。但是,参数名称可以传达参数的含义,所以在实际编程过程中最好还是使用参数名称。

      函数原型修改,定义默认参数值:int add(int a =  2,int b = 3);

     在函数中如int main(){return 0;}在这个函数中,关键字return使控制流返回到调用函数中。有时候是没有必要要这个return 的,因为函数体末尾的大括号能实现隐式返回。

        注意:在Visual C++中,可以按任何顺序定义函数体。但是不能出现函数嵌套,即不能在一个函数体内定义另一个函数体。

       提示:因为函数原型中的参数名称只是为了表明这里需要参数,所以函数体可以使用与函数原型不同的参数名称。但是,为了保持一致,建议在函数原型和函数体中使用相同的参数名称。

      

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章