小编Mar*_*n B的帖子

嗨,我有一个C编程问题.我想知道两者之间的差异,以及一个对其他人有用的地方吗?

我有一个C编程问题.

我想知道两者之间的差异,以及一个对其他人有用的地方吗?

假设我有一个名为employee的结构,如下所示:

struct emp{
   char first_name[10];
   char last_name[10];
   char key[10];
};
Run Code Online (Sandbox Code Playgroud)

现在,我想存储员工记录表,然后我应该使用哪种方法:

  1. struct emp e1[100]; // Or
  2. struct emp * e1[100];

我知道这两个不一样,但是想知道第二个声明会引起兴趣并且更有利于使用的用例.

有人可以澄清吗?

c

1
推荐指数
1
解决办法
220
查看次数

减少图像的尺寸

如何在C#中减小图像的尺寸?我在.NET 1.1中工作.

示例:将尺寸800x600减小到400x400

c# image

0
推荐指数
1
解决办法
1675
查看次数

c.erase(p)无法编译成功,为什么?

我曾尝试在列表中测试擦除功能,但我不能成功!我的编译器的错误消息是:

[Error]error: no matching function for call to
`std::list<int,std::allocator<int> >::erase(std::_List_const_iterator<int>&)'.
Run Code Online (Sandbox Code Playgroud)

我的代码如下:

#include <iostream>
#include <list>
using namespace std;

int main()
{
    int ia[] = {0, 1, 1, 2, 3, 5, 8, 13, 21, 55, 89};
    list<int> ilst(ia, ia + 11);

    list<int>::const_iterator iter2 = ilst.begin();
    for(; iter2 != ilst.end(); ++iter2)
    {
        if(*iter2 % 2 != 0)
        {   
            iter2 = ilst.erase(iter2);  //error!
            --iter2;
        }
    }
    iter2 = ilst.begin();   
    for(; iter2 != ilst.end(); ++iter2)
    {
        cout << *iter << " ";
    }   
    cout …
Run Code Online (Sandbox Code Playgroud)

c++

0
推荐指数
1
解决办法
416
查看次数

"32位操作系统","32位处理器":这些术语究竟是什么意思?

"32位操作系统","32位处理器"的确切含义是什么?

  • 它会影响地址总线的大小吗?
  • 它是否会影响可以生成的虚拟地址数量?
  • 它如何影响寄存器大小意味着寄存器大小?
  • 它对虚拟内存/内存管理有何影响

我是这个领域的初学者; 如果你有任何合适的文件,请指出我.

谢谢.

operating-system memory-management computer-architecture virtual-memory

0
推荐指数
1
解决办法
2083
查看次数

为什么我不能使用getter访问public var?

有一个包含这些语句的文件:

public:
boost::shared_ptr<TBFControl::TbfCmdHandler> _tbfCmdHandlerPtr;
// will be private later...

boost::shared_ptr<TBFControl::TbfCmdHandler> getTBFCmdHandler()
{ return _tbfCmdHandlerPtr; }
Run Code Online (Sandbox Code Playgroud)

我可以这样使用它:

boost::shared_ptr<TBFControl::TbfCmdHandler>myTbfCmdHandlerPtr(
    this->getTBFInstallation()-> _tbfCmdHandlerPtr );
Run Code Online (Sandbox Code Playgroud)

但不是,就像我想要的那样:

boost::shared_ptr<TBFControl::TbfCmdHandler>myTbfCmdHandlerPtr(
    this->getTBFInstallation()->getTBFCmdHandler() );
Run Code Online (Sandbox Code Playgroud)

使用getter函数,会发生以下错误:

'Housekeeping :: TBFInstallation :: getTBFCmdHandler':无法将'this Housekeeping :: TBFInstallation'中的'this'指针转换为'Housekeeping :: TBFInstallation'

这里出了什么问题?

c++ boost shared-ptr

0
推荐指数
1
解决办法
165
查看次数

ECMA-262 ===算法解释

我试图在JavaScript中理解===运算符的确切算法.它被定义为类似的东西

比较x === y,其中x和y是值,产生真或假.这样的比较如下进行:

  1. 如果Type(x)与Type(y)不同,则返回false.
  2. 如果Type(x)是Undefined,则返回true.
  3. 如果Type(x)为Null,则返回true.
  4. 如果Type(x)是Number,那么
    • 如果x是NaN,则返回false.
    • 如果y是NaN,则返回false.
    • 如果x与y的Number值相同,则返回true.
    • 如果x是+0且y是-0,则返回true.
    • 如果x是-0且y是+0,则返回true.
    • 返回false.
  5. 如果Type(x)是String,则如果x和y完全相同的字符序列(相应位置的长度和字符相同),则返回true; 否则,返回false.
  6. 如果Type(x)是布尔值,如果x和y都为true或两者都为false,则返回true; 否则,返回false.
  7. 如果x和y引用同一个对象,则返回true.否则,返回false.

现在,如果我写了类似的东西

var t1 = undefined,t2 = 2;
typeof(t1); //"undefined"
typeof(t2); //"number"

t1 === t2; //returns false ?????
Run Code Online (Sandbox Code Playgroud)

考虑第2点和第3点:它应该返回true.我在Chrome 15.0.874.106米测试它.有人可以解释一下这种情况到底发生了什么吗?

javascript

0
推荐指数
1
解决办法
60
查看次数

虚函数输出?

我只是做了一些事情并编写了这个程序.我得到了以下输出.我知道函数解析在运行时发生,而变量的绑定发生在编译期间,但我无法理解的是我得到的第一个输出(this->n).任何人都可以向我解释这个吗?

    # include <iostream>
    # include <stdio.h>
    # include <conio.h>

    using namespace std;

    class A
    {
      int n;      
      public:
      virtual void Fun1(int no=10)
       {
         int n=no;        
         cout<<"A::Fun1() "<<n <<"\n";
       }
    };

    class B :public A
    {
     int n;      
     public:
     virtual void Fun1(int no=20)
     {
      int n=no;        
      cout<<"B::Fun1() " << this->n << "\n"; // WHY SO ? gives B::Fun1() 40
      cout<<"B::Fun1() " << n << "\n";
     }
    };

    int main()
    {
     B b;
     A &a =b;
     a.Fun1();
     A a1=b; …
Run Code Online (Sandbox Code Playgroud)

c++

0
推荐指数
1
解决办法
103
查看次数

如何在c中返回一个float数组并保存一个浮点数组以便以后使用?

我有一个C++函数返回一个std::vector<float>.

我正在与一些C代码接口.

如何更改此C++函数以便它返回一些指向float数组的指针,如何保存此返回的数组以便我可以在我的C代码中使用它?

c c++

0
推荐指数
1
解决办法
644
查看次数

我写入寄存器的代码是否需要更正?

我的问题是通用的,与任何特定的微控制器无关.下面是写入硬件寄存器地址的代码.在这段代码中,我试图一个接一个地写几个值.

unsigned int *p;  //declare a pointer

p = (int *) 0x200;  //point to hardware register address

*p = 0x12;  // write to hardware register address

*p = 0xA5;  // write to hardware register address

*p = 0xff;  // write to hardware register address
Run Code Online (Sandbox Code Playgroud)

以上是否需要更正?

c embedded

0
推荐指数
1
解决办法
137
查看次数