为了账号安全,请及时绑定邮箱和手机立即绑定

C++

C++是在C语言的基础上开发的一种通用编程语言,应用广泛。C++支持多种编程范式——面向对象编程、泛型编程和过程化编程。

来自 C++
asd8532回答:
算法导论比较难而且也比较理论,计算复杂度什么的。数据结构先吧

算法导论比较难而且也比较理论,计算复杂度什么的。数据结构先吧

赞同1 反对 收起

回复
来自 C C++
asd8532回答:
每退出一次输出一次才是递归啊,之前剩下的也要执行啊

每退出一次输出一次才是递归啊,之前剩下的也要执行啊

赞同1 反对 收起

回复
来自 C++
已采纳 asd8532回答:
<...code...>[ 查看全部 ]
int main()
{
 int n;
 char name[]="qiaoxu";
 char school[]="jiangsudaxue";
 char tel[15];
 char pc[6];
 cout << "请输入学生人数n:" << endl;
 cin >> n;
 Student *s;
 s = new Student[n];
 cout << "name" << '\t' << "school" << '\t' << "telphone" << '\t' << "post code:" << endl;
 for (int i=0;i<n;i++)
 {
  cin >> name>> school>> tel >> pc;
  s[i].Assign(name, school, tel, pc);
 }
 for (int j = 0; j < n; j++)
 {
  s[j].ShowStudent();
 }
 delete[]s;
 system("pause");
 return 0;
}

初始化为常量字符串地址。
char *nmae = "qiaoxu";
常量字符串在运行时会被放在常量空间中,于是这样初始化后,地址是常量空间中的一个地址,对于该地址只能读取,不可写入。即str的值可以改,但是str指向的值是不可修改的。,所以cin>>name是错误的


赞同2 反对 收起

回复
来自 C C++ JAVA
习惯受伤回答:
声明,仅供学习,不能做违法的事情!大致说一下,感染性有通过感染其他文件,插入u盘感染u盘文件等,具体什么类型的感染呢?有图标感染如熊猫烧香,文件内容破坏。破坏性,破坏计算机系统文件,破坏所有文档等等。传播性,可以通过邮件,u盘等传播。关于具体怎么实现,你搜一下网络,很多资料,病毒玩的就是思想。自己想一个出其不意的方法才好,否则现在杀毒软件也挺厉害的,没等你做出来,就胎死腹中了……
声明,仅供学习,不能做违法的事情!大致说一下,感染性有通过感染其他文件,插入u盘感染u盘文件等,具体什么类型的感染呢?有图标感染如熊猫烧香,文件内容破坏。破坏性,破坏计算机系统文件,破坏所有文档等等。传播性,可以通过邮件,u盘等传播。关于具体怎么实现,你搜一下网络,很多资料,病毒玩的就是思想。自己想一个出其不意的方法才好,否则现在杀毒软件也挺厉害的,没等你做出来,就胎死腹中了……
赞同1 反对 收起

回复
来自 C++
已采纳 onlyl_pets回答:
第一句把b取别名为c。 第二句C取b的地址。
第一句把b取别名为c。 第二句C取b的地址。
赞同1 反对 收起

回复
来自 C++
已采纳 习惯受伤回答:
choice 如果是int类型的,默认值就是0;你输出默认值试一下~~

choice 如果是int类型的,默认值就是0;你输出默认值试一下~~

赞同1 反对 收起

回复
来自 C++
温柔的雪狼回答:
因为C是最底层的高级语言

因为C是最底层的高级语言

赞同1 反对 收起

回复
来自 C C++
已采纳 Alone_临渊回答:
显然就会c是不够的,现在应该已经很难找到只用c开发的东东了吧..如果有那你牛逼...其实大学里学c语言最主要的还是用来打基础,让你了解编程,了解其中的编程思想,当然到了后面你要学的语言还有很多,这时你就会发现其实语言这东西万变不离其宗,无非就是变量,函数,循环,对象等这些东西。说了这么多,其实我只是想让你明白,你不要着急,慢慢来,先打好基础,等以后你就会发现真正用来写应用的语言,其实比c会更简单。当然也有和c一样难的了。我还要说的就是,其实编程还是分很多方向的,像什么桌面应用程序开发(这块我不清楚),游戏开发,web开发(我就是做这个的,这里又分前端和后台当然也有全栈),嵌入式开发等等一堆,首...[ 查看全部 ]

显然就会c是不够的,现在应该已经很难找到只用c开发的东东了吧..如果有那你牛逼...其实大学里学c语言最主要的还是用来打基础,让你了解编程,了解其中的编程思想,当然到了后面你要学的语言还有很多,这时你就会发现其实语言这东西万变不离其宗,无非就是变量,函数,循环,对象等这些东西。说了这么多,其实我只是想让你明白,你不要着急,慢慢来,先打好基础,等以后你就会发现真正用来写应用的语言,其实比c会更简单。当然也有和c一样难的了。

我还要说的就是,其实编程还是分很多方向的,像什么桌面应用程序开发(这块我不清楚),游戏开发,web开发(我就是做这个的,这里又分前端和后台当然也有全栈),嵌入式开发等等一堆,首先你要有个方向,你往哪个方向走,然后你就去学那个方向的语言比如我学的web前端就是html(h5)/css(c3)/javascript/(当然其中还有很多技术要学像什么js框架类库啊一堆,还有就是css预处理语言,ajax技术,前端自动化,而且你还得熟悉一门后端语言比如java,php,nodejs等),当然学习这些之前就是像你这样打基础。

或许你现在只是对着那个黑框框敲代码,挺没有成就感的,其实大家都是这样过来的,我以前也是这样,但是你不能急,你要学的东西还有很多,像什么操作系统原理,面向对象思想,数据结构和算法(这里其实根据你学的方向适度学习),数据库等等,然后才是学真正应用开发的语言,你前面基础越扎实后面学起来越简单。

所以编程之路还长着呢,任重而道远。同学,好好加油吧!

还有就是你为什么要来这里发帖。。。还是去知乎找大神的靠谱,或者直接百度。。。

赞同3 反对 收起

回复
来自 C C# C++
tangjunfeng回答:
书山有路勤为径

书山有路勤为径

赞同1 反对 收起

回复
来自 C C++ Linux
已采纳 瓦特卖轮鸭回答:
你指的是malloc前面括号里的struct student *吧,这个代表你要使用malloc函数为赋值符左边的指针分配刚刚好储存一个结点的内存。据我了解到的,malloc.h这个头文件跟stdlib.h头文件都包含malloc函数作为动态分配内存函数,用法一般是 指针名=(数据类型*)malloc(n*sizeof(数据类型)),这里的sizeof(数据类型)是此数据类型的单元内存,所以n就代表你要申请n个这种数据类型的单元内存。为了书写方便简洁,一般用typedef给结点命一个特殊好记有意义的名儿,比如typedef struct {xxx;}student;然后直接用student作为...[ 查看全部 ]
你指的是malloc前面括号里的struct student *吧,这个代表你要使用malloc函数为赋值符左边的指针分配刚刚好储存一个结点的内存。据我了解到的,malloc.h这个头文件跟stdlib.h头文件都包含malloc函数作为动态分配内存函数,用法一般是 指针名=(数据类型*)malloc(n*sizeof(数据类型)),这里的sizeof(数据类型)是此数据类型的单元内存,所以n就代表你要申请n个这种数据类型的单元内存。为了书写方便简洁,一般用typedef给结点命一个特殊好记有意义的名儿,比如typedef struct {xxx;}student;然后直接用student作为结点类型命名变量。
赞同 反对 收起

回复
来自 C++
已采纳 asd8532回答:
<...code...>[ 查看全部 ]
#include <iostream>
#include <stdlib.h>
using namespace std;
int getMaxOrMin(int *arr,int count,bool isMax)
{
   int temp=arr[0];
   for(int i=1;i<count;i++)//i<=count已经越界了,应该是i<count
   {
if(isMax)
{
  if(temp<arr[i])
  {
     temp=arr[i];
  }
}
else
{
  if(temp>arr[i])
  {
     temp=arr[i];
  }
}       
  }
   return temp;
}
int main()
{
int arr1[4]={3,5,1,7};
bool isMax=false;
cin>>isMax;
cout<<getMaxOrMin(arr1,4,isMax)<<endl;
    return 0;
}


赞同2 反对 收起

回复
来自 C# C++ JAVA
习惯受伤回答:
什么题目啊?数据库大作业要求 应该是手误吧,应该是 数据库作业要求吧,你说呢?

什么题目啊?数据库大作业要求 应该是手误吧,应该是 数据库作业要求吧,你说呢?

赞同1 反对 收起

回复
来自 C C# C++
习惯受伤回答:
一般有三种:1、用作乘法符号,如:int a = 3*10;2、用作指针声明,如:<...code...>3、用作取指针内容,如:<...code...>[ 查看全部 ]

一般有三种:

1、用作乘法符号,如:int a = 3*10;

2、用作指针声明,如:

int* p = 100;

3、用作取指针内容,如:

printf("%d", *p);


赞同1 反对 收起

回复
来自 C++
已采纳 onemoo回答:
确实是一种类型,所谓 size_type 就是这个“vector 的 size 的类型”。size就是指vector有多少个元素,这个“多少个”也是个整型值,它的类型就是 size_type。举个具体的例子:假如有个vector,你调用size()来得到它有多少个元素,你要把这个值存在一个变量里,那么这个变量该声明为什么类型呢?int 型吗? 万一这个vector的元素数超过了 int 的范围呢?  要不就用 long? 万一也不够用呢??现在你知道了 size_type 就是这个 size 值的类型,你只要声明一个 size_type 类型的变量就能存下“元素个数”的值。顺便一提,在 C 语...[ 查看全部 ]

确实是一种类型,所谓 size_type 就是这个“vector 的 size 的类型”。

size就是指vector有多少个元素,这个“多少个”也是个整型值,它的类型就是 size_type。

举个具体的例子:

假如有个vector,你调用size()来得到它有多少个元素,你要把这个值存在一个变量里,那么这个变量该声明为什么类型呢?

int 型吗? 万一这个vector的元素数超过了 int 的范围呢?  要不就用 long? 万一也不够用呢??

现在你知道了 size_type 就是这个 size 值的类型,你只要声明一个 size_type 类型的变量就能存下“元素个数”的值。


顺便一提,在 C 语言中 size_t 指的是系统中最大的整型类型,一般在前述情况下都是使用 size_t 类型的。

赞同1 反对 收起

回复
来自 C++
已采纳 asd8532回答:
<...code...>[ 查看全部 ]
#include <iostream>
using namespace std;

class Node{
public:
    int data;
    bool Is_jg;
    Node *p; 
public:
    void Init(){
        data = 0;
        Is_jg = false;
        p = new Node[10];
    }
   Node(){} 
};

int main(){
    Node node1;
    node1.Init();
    cout<<node1.data;
    cout<<5;
    return 0; 
}


赞同3 反对 收起

回复
来自 C++
已采纳 onemoo回答:
准确地说是:对象在析构/销毁时会先调用析构函数,然后再销毁自己的成员。但析构函数是你写出来的,析构函数不会自动做什么事的,是你决定了析构函数会做什么工作。如果你没有在析构函数中手动 delete 指针所指的内存,到了销毁成员的阶段,即销毁这个指针时,只有这个指针本身会被销毁,其所指的内存并不会被自动 delete。 显然这将会造成内存泄漏。所以不是“析构函数会清空它吗?”,而是你应该在析构函数中手动清空它——这也是析构函数存在的意义——即做自身的清理工作(尤其是要清理/释放掉本对象获取的各种资源)[ 查看全部 ]

准确地说是:对象在析构/销毁时会先调用析构函数,然后再销毁自己的成员。

但析构函数是你写出来的,析构函数不会自动做什么事的,是你决定了析构函数会做什么工作。

如果你没有在析构函数中手动 delete 指针所指的内存,到了销毁成员的阶段,即销毁这个指针时,只有这个指针本身会被销毁,其所指的内存并不会被自动 delete。 显然这将会造成内存泄漏。

所以不是“析构函数会清空它吗?”,而是你应该在析构函数中手动清空它——这也是析构函数存在的意义——即做自身的清理工作(尤其是要清理/释放掉本对象获取的各种资源)

赞同2 反对 收起

回复
来自 C C# C++
已采纳 asd8532回答:
首先理解fun的意义fun(s,m1,m2);//从s的m1位置到m2位置对调 fun( ss,0,n-1 ); //0<n-1所以fun的while为假,不执行  fun( ss,9,n );;//0 1 2 3 4 5 6 7 8 /0共10,9到6的位置对调变成0 1 2 3 4 5 /0 8 7 6  而/0是终止符号,所以输出到5的时候就停止了    fun( ss,0,9 );//0<9所以fun的while为假,不执行[ 查看全部 ]

首先理解fun的意义

fun(s,m1,m2);//从s的m1位置到m2位置对调

 fun( ss,0,n-1 ); //0<n-1所以fun的while为假,不执行

  fun( ss,9,n );;//0 1 2 3 4 5 6 7 8 /0共10,9到6的位置对调变成0 1 2 3 4 5 /0 8 7 6  而/0是终止符号,所以输出到5的时候就停止了

    fun( ss,0,9 );//0<9所以fun的while为假,不执行


赞同1 反对 收起

回复
来自 C C# C++
asd8532回答:
传4,5,6和3进去输出x[0]和x[0],两个x[0]中间调用递归,所以两个4中间有一些输出输出4.。。。。。4传5,6和2进去输出x[0]和x[0],两个x[0]中间调用递归,所以两个5中间有一些输出4 5.。。。5 46和1进去,直接输出6然后退出4 5 6 5 4

传4,5,6和3进去输出x[0]和x[0],两个x[0]中间调用递归,所以两个4中间有一些输出输出4.。。。。。4

传5,6和2进去输出x[0]和x[0],两个x[0]中间调用递归,所以两个5中间有一些输出4 5.。。。5 4

6和1进去,直接输出6然后退出4 5 6 5 4

赞同1 反对 收起

回复
来自 C C++
已采纳 asd8532回答:
文件表示的输出到文件里,而不是写入文件里

文件表示的输出到文件里,而不是写入文件里

赞同1 反对 收起

回复
来自 C++
已采纳 asd8532回答:
m_iQueueLength =0的话就是false,非0就是true,所以也是可以的

m_iQueueLength =0的话就是false,非0就是true,所以也是可以的

赞同3 反对 收起

回复
来自 C++
已采纳 onemoo回答:
你说“去掉相乘运算结果是对的”,真的是对的吗?   你可以试试在第一个代码中的 p4 = p2 / p1 之后再打印 p2 的值看看。问题在于你的 * / 运算符实现有问题。一般来说,重载算术运算符也要和内置算术运算符的行为一致,所以:...[ 查看全部 ]

你说“去掉相乘运算结果是对的”,真的是对的吗?   你可以试试在第一个代码中的 p4 = p2 / p1 之后再打印 p2 的值看看。


问题在于你的 * / 运算符实现有问题。

一般来说,重载算术运算符也要和内置算术运算符的行为一致,所以:

  • 返回类型应该是值类型,而非引用。也就是函数返回右值。

  • 函数中应该返回一个新建的对象,而非直接在左操作数上进行修改。


你看,在你的实现中,返回类型是引用,而且你选择返回左操作数自身,那么这个 * / 函数也就修改了左操作数本身,这样的行为是不合适的——你想象一下 p4 = p2 / p1 之后,p4 和 p2 都变成了相除的结果——这不合理吧?!

那么你应该能理解为什么前面插入一个乘法运算导致后面的结果也变了吧?  正是因为 p1 * p2 后,p1 的值也变成相乘的结果 (3, 8)。后面再用 p2 / p1 实际上是 (3, 4) / (3, 8),而且我猜 m_iX 和 m_iY 都是 int 类型,所以 4/8 = 0 ——最终结果也就变成了(1, 0)。


最后,一般正确的算术运算符重载是这样的:

Point Point::operator*(const Point &rhs) const
{
    return Point(m_iX * rhs.m_iX, m_iY * rhs.m_iY);
}

//

赞同1 反对 收起

回复
首页上一页1234567下一页尾页

关联分类

  • Maya

    Autodesk Maya是美国Autodesk公司出品的世界顶级的...
  • C

    C,一种通用的、过程式的编程语言,广泛用于系统与应用软件的开发。
  • 数据结构

    数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或...

本月最佳回答网友

关注我喜欢或专注的猿问分类

  • Android
  • AngularJS
  • Bootstrap
  • C
  • C#
  • C++
  • Cocos2d-x
  • CSS3
  • Go
  • Html/CSS
  • Html5
  • iOS
  • JAVA
  • JavaScript
  • JQuery
  • Linux
  • Maya
  • MongoDB
  • Mysql
  • Node.js
  • Oracle
  • Photoshop
  • PHP
  • Premiere
  • Python
  • React.JS
  • Ruby
  • Sass/Less
  • SQL Server
  • Unity 3D
  • Vue.js
  • WebApp
  • ZBrush
  • 云计算
  • 前端工具
  • 大数据
  • 数据结构
  • 测试
保存
意见反馈 常见问题 APP下载
官方微信